CharacterBody3D `_ready` runs twice (sort of) and can't find child nodes

Godot Version

4.2.1 stable (steam)

Question

I have a player scene with a CharacterBody3D as the root. Almost all of the player code is in one file extending that CharacterBody3D. I really have no idea what’s happening but it seems like _ready is running twice, but skipping stuff. This is the code that runs, the game then crashes on the last line as it says that I access visible on a null instance.


It then prints this:

┖╴Player
    ┠╴CollisionShape3D
    ┠╴HUD
    ┃  ┖╴Speedometer
    ┖╴Cam Rotater
       ┖╴Camera
          ┖╴CanvasLayer
             ┖╴ColorRect

self
Player:<CharacterBody3D#40500200743>
 ┖╴@CharacterBody3D@3

self
@CharacterBody3D@3:<CharacterBody3D#40869299461>

What is happening here? Why does it print self etc twice, but not the tree?
If this isn’t enough detail please tell me, idk what the problem is so I’m not really sure what info is relevant

It looks like you might have an additional instance of this Node existing somewhere for some reason. You can see from the IDs that these CharacterBody3Ds are not the same object: #40500200743 vs #40869299461.