Quick answer: Godot 4 C# [Export] properties disappearing from the inspector after a refactor? The .NET solution didn't rebuild - run dotnet build manually or restart the editor with rebuild enabled.

Renamed an exported field from Speed to MoveSpeed. The old field is gone from the inspector but the new one never appears.

Force rebuild from CLI

dotnet build

Run from the project root. The editor's silent rebuild on save is fragile; the CLI build surfaces compile errors that the editor swallows.

Verify the metadata file

Open .godot/mono/metadata/script_metadata.editor.json. The new field name should appear under your class. If not, the assembly never reloaded and Godot is reading the previous metadata.

Use [ExportGroup] sparingly

Putting [ExportGroup] above an empty section in a partial class causes the inspector to drop subsequent exports. Move [ExportGroup] to the main partial file when possible.

“Godot C# trips on the boundary between Mono's metadata and the editor's cache. Rebuild solves more than it should.”

Add a pre-commit hook that runs dotnet build - your project gets a clean signal that the assembly is in sync with what the editor expects.