Save System, by DTWorldz View on Asset Store (opens in new tab)

Package details

Latest version
1.0.0
Last updated
First released
Unity version
6000.3.0 or later
Package size
376 KB
Files
182
Favorites
2
Views in the past week
15

Price tracking

Last checked
Tracked since
Lowest recorded
$9.99 on

Keywords

Save System, by DTWorldz

by DTWorldz (opens in new tab)

No ratings yet

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.

Price $9.99

Buy on Asset Store (opens in new tab)

Affiliate link · Purchases support this site

Price history

Last 6 months

USD
Price history for Save System, by DTWorldz, 6 months Current $9.99; lowest $9.99; highest $9.99 in this period. $0 $5 $10 Jun Jul Aug Sep Oct Nov

Asset preview

1 / 4

Save System, by DTWorldz screenshot 1

Save System, by DTWorldz screenshot 1

About this asset

DTWorldz.SaveSystem, Modern, Modular Saving That Just Works

Saving 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 it

  • IL2CPP/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)

  1. SaveGuid gives every save participant a stable ID.
  2. EntitySaver collects small ISubsave adapters (e.g., Transform, Rigidbody2D, Animator…) and stores their JSON payloads under unique keys.
  3. 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;

Core

  • SaveManager (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 subsavers

  • TransformSubsave: position, euler rotation, local scale
  • Rigidbody2DSubsave: body type, damping, constraints, linear/angular velocity, sleep
  • AnimatorSubsave: float/int/bool parameters, per-layer state (hash + normalized time), optional triggers on load
  • HealthSubsave: max/current; optional deactivate/destroy if dead on load
  • PlayerStatsSubsave: HP/MP/regen/level/XP (fires UI change events)
  • InventorySubsave: item stacks (id+amount), resolved via ItemRegistry

Utilities

  • JsonSerializer, 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 inventory
  • Chest interactable (Animator bool/trigger modes)
  • Snakes that roam, deal contact damage, drop loot, and respawn from saves
  • UI with Save/Load/Quick buttons, progress bar, and status text
  • Inventory toggles and health/mana bars wired to live events

Open, press Save, make a mess, press Load: watch the world snap back exactly.

Production-ready by design

  • Deterministic restores via prioritized subsave order
  • Editor guardrails in SaveGuid (no baked IDs in prefab assets; runtime IDs auto-generated)
  • Diagnostics toggles for missing subsavers and type mismatches
  • Renderer-agnostic (Built-in / URP / HDRP) and platform-ready (desktop, mobile, console)

Extend in minutes

Need to save your own component? Implement:

public interface ISubsave {

string Key { get; } // unique per GameObject, e.g. "myfeature"

string TypeId { get; } // human-friendly payload label

string CaptureJson();

void RestoreJson(string json);

}

Add it beside EntitySaver, done! No reflection, no codegen, no headaches.

Requirements

  • TextMeshPro recommended for the sample UI

Perfect for

  • Indie games that need a trustworthy, maintainable save system
  • Teams shipping to IL2CPP/AOT targets (consoles/mobile)
  • Projects that want clear separation of concerns and easy debugging
  • Anyone who prefers simple JSON over opaque binary formats

Drop 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.

From the publisher's Asset Store listing.

Technical details

It requires to have Newtonsoft Json package installed. Should come with the package.

com.unity.nuget.newtonsoft-json

TextMeshPro is required for checking DemoScene. But not required to use the feature ofcourse.

Compatibility

Render pipelines supported in each Unity version
Unity version Built-in URP HDRP Custom
6000.3.0f1 Compatible Compatible Compatible Compatible

As listed on the Asset Store.