A modern Unity save system that just works. Modular subsaves, prefab respawn, async progress, and a ready-to-play demo. Drop in, hit save, done.DTWorldz.SaveSystem, Modern, Modular Saving That Just WorksSaving your game is not problem anymore.DTWorldz.SaveSystem is a lightweight, safe and easy framework built on JsonUtility that gives your game rock-solid persistence, prefab respawn, and a modular subsave architecture. All with zero external dependencies and a polished demo scene you can run on day one.Why developers love itIL2CPP/AOT safe: No reflection-heavy libs. Fast, tiny, console/mobile-ready.Zero dependencies: Pure Unity API. Drop it in, ship it.Modular “Subsave” design: Save Transform/Animator/Physics/Stats/Inventory (and more) per object, cleanly.Stable identity: SaveGuid ensures scene objects keep the same ID; prefabs get unique runtime IDs.Prefab respawn: Save a prefabId; on load it’s re-instantiated at the saved position/rotation and fully restored.Async progress: Non-blocking save/load with progress reporting and a ready-made UI.2D & 3D friendly:Works with any render pipeline; examples included.How it works (in 30 seconds)SaveGuid gives every save participant a stable ID.EntitySaver collects small ISubsave adapters (e.g., Transform, Rigidbody2D, Animator…) and stores their JSON payloads under unique keys.SaveManager writes/reads a JSON file. On load, it respawns missing prefabs by prefabId, reassigns their saved GUID, then restores all subsaves (with a prioritized order for deterministic results).Prioritized restore order (default): transform → rigidbody2d → animator — so physics and animation land exactly where they should.What you get out of the box;CoreSaveManager (async save/load + progress)SaveGuid (stable identity; handles scene vs prefab intelligently)EntitySaver (discovers and applies subsaves; includes diagnostics)PrefabCatalog + ISpawnRecipeProvider (respawn system)Built-in subsaversTransformSubsave: position, euler rotation, local scaleRigidbody2DSubsave: body type, damping, constraints, linear/angular velocity, sleepAnimatorSubsave: float/int/bool parameters, per-layer state (hash + normalized time), optional triggers on loadHealthSubsave: max/current; optional deactivate/destroy if dead on loadPlayerStatsSubsave: HP/MP/regen/level/XP (fires UI change events)InventorySubsave: item stacks (id+amount), resolved via ItemRegistryUtilitiesJsonSerializer, SaveFile, SavePathResolver (atomic writes)Optional Compression (GZip) and Obfuscation (XOR)SaveSettings (pretty print, paths, compression/obfuscation, default catalog)ItemDefinition ScriptableObject + ItemRegistry (auto-loads from Resources/Items)Demo scene you can learn from (and reuse)A clean, ready-to-play scene shows everything working together:Player with movement, jumping, shooting, health/mana, and inventoryChest interactable (Animator bool/trigger modes)Snakes that roam, deal contact damage, drop loot, and respawn from savesUI with Save/Load/Quick buttons, progress bar, and status textInventory toggles and health/mana bars wired to live eventsOpen, press Save, make a mess, press Load: watch the world snap back exactly.Production-ready by designDeterministic restores via prioritized subsave orderEditor guardrails in SaveGuid (no baked IDs in prefab assets; runtime IDs auto-generated)Diagnostics toggles for missing subsavers and type mismatchesRenderer-agnostic (Built-in / URP / HDRP) and platform-ready (desktop, mobile, console)Extend in minutesNeed to save your own component? Implement:public interface ISubsave {string Key { get; } // unique per GameObject, e.g. "myfeature"string TypeId { get; } // human-friendly payload labelstring CaptureJson();void RestoreJson(string json);}Add it beside EntitySaver, done! No reflection, no codegen, no headaches.RequirementsTextMeshPro recommended for the sample UIPerfect forIndie games that need a trustworthy, maintainable save systemTeams shipping to IL2CPP/AOT targets (consoles/mobile)Projects that want clear separation of concerns and easy debuggingAnyone who prefers simple JSON over opaque binary formatsDrop in. Press Save. It works.With stable GUIDs, prefab respawn, modular subsaves, and a polished demo, DTWorldz.SaveSystem turns saving from a chore into a checkbox, so you can ship faster with confidence.It requires to have Newtonsoft Json package installed. Should come with the package.com.unity.nuget.newtonsoft-jsonTextMeshPro is required for checking DemoScene. But not required to use the feature ofcourse.




