Quick answer: Godot 4 C# scripts disappearing from nodes after renaming the .cs file? Godot stores script path; rename breaks the link - use Reimport or fix in scene file.

Renamed PlayerController.cs to Player.cs. All scenes referencing it now show script missing.

Reimport via UID

Godot 4.2+ tracks C# scripts by UID. Refactor > Rename Symbol in your IDE should update both file and UID references.

Or fix in .tscn

Open the .tscn in text editor. ext_resource paths to the old script; update to new. Tedious; works.

Use the .uid file

If a .uid file exists next to the .cs, the binding survives renames. Without one, rename = break.

“C# script references in Godot are path + UID. Both matter; UID is more durable.”

Always rename via the IDE's refactor tool, not the OS file manager. The refactor tool updates references; the file manager doesn't.

Related reading