Quick answer: Godot 4 C# [Export] on Godot.Collections.Array not saving to .tres? Generic collections need explicit type hint - use [Export(PropertyHint.ArrayType)] with element type.

Exported Array shows in inspector but contents disappear after save/load.

Specify element type

[Export(PropertyHint.ArrayType, "Item")]
public Array<Item> Items { get; set; }

Hint string is the element type name. Saver knows how to serialize.

Or use ResourceArray

For collections of Resources, ResourceArray works without type hint. Specialized; cleaner for that case.

Verify in tres

Open the .tres in a text editor. Items should appear as sub-resources; empty means serialization is incomplete.

“Godot C# collections need binding hints. Generic types lose their parameter at runtime.”

Test resource persistence with a fresh project. Inherited tres files can mask serialization bugs by holding stale data.