diff --git a/src/character_actor.cpp b/src/character_actor.cpp
index 525b294..1917176 100644
--- a/src/character_actor.cpp
+++ b/src/character_actor.cpp
@@ -27,6 +27,8 @@ void CharacterActor::_enter_tree() { GDGAMEONLY();
     this->health = this->get_node<Health>("Health");
     this->primary_weapon_pool = this->get_node<ProjectilePool>("ProjectilePool");
     this->planner = this->get_node<goap::Planner>("Planner");
+    Ref<TunnelsGameMode> game_mode = GameRoot::get_singleton()->get_game_mode();
+    game_mode->register_player_character(this);
 }
 
 void CharacterActor::_process(double delta_time) { GDGAMEONLY();