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.