Saving system for DOTS enables you to easily save and load all your unmanaged data with an UI driven workflow.Samples require Unity6 or Unity 2023.2 because of UIToolkit runtime bindings.They also have a dependency on Entities.Graphics and Unity.Physics.Saving System for DOTSA production-proven save & load solution for Unity DOTS (Entities 1.x).Persist complex worlds, runtime entity changes, and evolving data layouts without writing and maintaining custom serializers.This asset is designed for experienced DOTS developers building real games who need robust save compatibility across updates.Who this is for?✔️ Unity DOTS / Entities users✔️ Projects with subscenes, prefabs, and runtime-spawned entities✔️ Games that need long-lived, version-safe save files❌ Not intended for beginners or MonoBehaviour-only projectsWhat problem this solves?Saving in DOTS becomes difficult once:components are added or removed at runtimeprefabs evolve over timedata layouts change between versionsThis system handles entity persistence, format migration, and prefab changes, allowing you to ship updates without breaking existing save files.How?Create a scriptable object Save Format and add the types you want to save in a handcrafted UI and let the source code generator do the heavy lifting for optimized serialize and deserialization code.Then mark subscene entities or prefabs with a Savable Authoring component and you are done. Saved data will be efficiently laid out in a binary format and compressed with LZ4.🎮 Real-world Production UsageNot just a toy asset! Battle tested in production with complex needs.Used in Life Below from Megapop – a complex and charming city-builder.🎉 New in 1.5.0Support for Unity.Netcode and saving/loading of individual entities!🎉 New in 1.4.0Components that were not present on a prefab and added during runtime are now supported. Also UnsafeHashMaps can be saved and loaded now.Features✔️ Create save formats in the editor UI✔️ Save and load unmanaged data defined in save formats✔️ Automatically keep track of subscenes✔️ Ignore fields in structs✔️ Create migration plans with an intuitive node based approach when the save format has changed✔️ Prefab migration when prefabs have changed✔️ Included Savegame viewer for easy debugging✔️ Full Source code included✔️ Works for mobile IOS/AndroidLinks: Documentation | Discord | E-MailAutomatically keep track of subscenesAutomatically load previously open subscenesInstantiated prefabs (from spawners, etc...)Destroyed objects (trees, iron nodes, etc...)Save and load data defined in save formatsGlobal (non-subscene) and subscene entity dataEntity struct data with IComponentData or ISharedComponentDataEntity buffers with IBufferElementDataComponent enabled states with IEnableableComponentDataArbitrary primitive struct dataNested support for UnsafeList*UnsafeHashMap*Custom serializer/deserializer for more complex tasksComponents that were added during runtime and not present in a prefab☎️ SupportIf you have any questions please write me an email (support[at]enzenebner.com) or contact me in Discord. Please be patient, replies may take some time depending on my workload. Please include your Asset Invoice Number in your request.Thank you.🔑 License InfoThis asset requires one license per seat (user who has access to the asset files). If you are a team then please consider buying one seat per Unity user.Why am I telling you this?Because most people do not know. In fact any asset found under the Tools category automatically falls under a license type that Unity calls Extension Assets (see official license explanation) which differs from the standard (Entity) license.




