Quick answer: Godot 4 C# [Export] Array<Item> order changes after save/load? Some import paths re-sort - use a custom typed Array with order-preserving serializer.

Author item order: A, B, C. Save; reopen; order is A, C, B.

Add explicit Order field

Each Item has an Order int. Sort by Order on load. Preserves intent.

Or use System.Collections.List

Native C# List preserves order through serialization round-trip.

Verify per save

Order check on load. Mismatch = bug.

“Generic collection serialization may not preserve order. Explicit sort is the cure.”

If order matters in your data, an explicit Order field is the safe pattern.

Related reading