Quick answer: Godot 4 C# [Export] on Godot.Collections.Array
Exported Array
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.