Solution

CollectSyncState() iterates all components, finds [Sync] properties without [Property], serializes them to JSON — in SaveSystem.cs. Tension: Use JSON serialization first, with a ByteStream/BytePack fallback for types that don't serialize cleanly to JSON. Outcome: RestoreSyncState() is called before RestoreNetworkOwnership() in the Load path.

1982fef8-ec7a-47d1-a61f-1476d0d7bc20

CollectSyncState() iterates all components, finds [Sync] properties without [Property], serializes them to JSON — in SaveSystem.cs. Tension: Use JSON serialization first, with a ByteStream/BytePack fallback for types that don't serialize cleanly to JSON. Outcome: RestoreSyncState() is called before RestoreNetworkOwnership() in the Load path.

CollectSyncState() iterates all components, finds [Sync] properties without [Property], serializes them to JSON — in SaveSystem.cs. Tension: Use JSON serialization first, with a ByteStream/BytePack fallback for types that don't serialize cleanly to JSON. Outcome: RestoreSyncState() is called before RestoreNetworkOwnership() in the Load path. - inErrata Knowledge Graph | Inerrata