Every feature that Easy Save 3, Crystal Save Pro and Bayat Save System list for themselves, checked against Persistent Asset. Their features were read in September 2026 from their store pages and docs. Some of it may be wrong: email justetools@gmail.com and I’ll fix it.

Legend: ⭐ yes, and more · ✅ yes · 🟠 partly, or solved differently · ❌ no

⭐ Only in Persistent Asset

Feature Persistent Asset How
Your class is the save ⭐ Write the class; it loads and saves itself, no keys
Loads only what the game uses ⭐ Automatic: loads on first use, saves on unload and pause
Knows when the data is safe to use ⭐ One bool you can trust: IsReady
Saving blocked after a failed load ⭐ If the load could still succeed later, saves wait for it
Storage per platform ⭐ Same save, stored differently on each platform
Storage per store build ⭐ Different storage for Steam, itch or other store builds
Settings lock once shipped ⭐ Settings that would break players’ saves turn read-only
Settings changes migrate saves ⭐ Each player’s save migrates once, automatically
Tamper mark ⭐ Readable save; hand-edited saves are flagged for good
Anchor a save to the machine ⭐ A save copied to another computer won’t load
Anchor a save to its location ⭐ A save moved elsewhere won’t load
Any REST or GraphQL backend ⭐ Set up in the Inspector, no code
Four serializers, chosen per save file ⭐ Unity JSON, Newtonsoft, Odin, MemoryPack
Checkpoints and resets ⭐ Snapshot, restore, or reset to starting values
Offline saves upload on their own ⭐ Retried in the background once back online
Failure simulation ⭐ Force any failure or delay to test your game
Build-time checks ⭐ A broken setup stops the build
Clashing saves flagged ⭐ Warns when two saves write to the same place
Project-wide save overview ⭐ Every save in one list, broken ones flagged
Build cost of saved asset references ⭐ Build and load cost shown per asset
Operation log ⭐ Every load and save, its result and duration
On-device debug overlay ⭐ Save status, logs and data in the running build
Quitting waits for unfinished saves ⭐ Up to a timeout you set
Every operation as a UnityEvent ⭐ Ready-made components, no code
UI binders ⭐ Show saved values in UI, no code
Change events, no code ⭐ A value change raises a UnityEvent
AI agent skills ⭐ Eight skills for AI coding agents included

Easy Save 3

Easy Save 3 feature Persistent Asset How
Auto Save, no code ✅ Saves and loads on its own by default
Save a GameObject’s components ✅ Add one component, tick what to save
Save and load with one call each ✅ Prefs.Set and Prefs.Get
As simple as PlayerPrefs, more flexible ✅ Prefs, with slots, encryption and any storage
Key operations: exists, list, delete ✅ Prefs.Has, Prefs.Keys, Prefs.Remove
Load with a default, or into an object ✅ Fallback value, or straight into your object
File operations: delete, copy, rename, list ✅ Same on slots, each with its last save time
Save slots ✅ Any string names a slot
Slots UI in one click, customisable ✅ Menu added in one click; all slots share one editable prefab
AES encryption, 128-bit, with a password ⭐ AES-256, key per project or passed at runtime
Compression ✅ gzip, for local and cloud saves
Backups and restore ⭐ Automatic, restored when a save is corrupted
Caching ✅ Data stays in memory, written to disk on save
File, PlayerPrefs or memory ✅ Built in
Custom file names and paths ✅ Name, folder, extension; any folder on desktop
Settings window ✅ Project Settings > Persistent Asset
Cloud saves ⭐ Unity Cloud Save, Steam Cloud, any REST backend
PHP & MySQL server script 🟠 No PHP script; nine backend setups or your own endpoint
Steam Auto Cloud ⭐ Setup documented, plus saving to Steam Cloud directly
Android Backup and iCloud Backup ✅ Saves sit in the standard folder, which backups include
Classes, structs and Unity types ✅ Your own classes by their fields, Unity types built in
GameObjects and prefab instances ✅ Prefab instances respawned from their prefab
ScriptableObjects ⭐ PersistentScriptableObject base class or attribute
Collections, including 2D arrays ✅ With the Newtonsoft, Odin or MemoryPack serializer
Custom types ✅ Write a converter, or your own serializer
References to Unity objects ✅ To assets and to scene objects
Fast JSON serializer made for Unity ✅ Unity JSON: saves and loads 700 objects in 8 ms
Readable JSON saves ✅ Indented JSON option
PC, Mac, Linux, mobile, WebGL, Oculus ✅ Built in; WebGL has every storage but Steam Cloud
Same save files on every platform ✅ One format everywhere
Windows Universal and tvOS 🟠 Not tested
Consoles and other storage APIs ✅ Write your own storage, choose it per platform
C# API ⭐ Every call as sync, callback, async or coroutine
Error handling ✅ A failed call returns the reason
PlayMaker actions 🟠 No PlayMaker actions; built-in no-code components instead
Visual scripting: Bolt, NodeCanvas… 🟠 Called through generic nodes, no dedicated ones
CSV spreadsheet export ❌ Not in scope
File IO: strings, bytes, images, audio 🟠 Kept inside a save; images and audio need a converter
Folder operations ❌ Not in scope
Documentation and examples ✅ Quick Usage Guide, User Manual, Public API, demo game
Source code included ✅ Full C# source, one assembly per module
Support by email, forum, Discord 🟠 Email only, reply within a business day
On the store since 2011 ❌ Released in 2026

Crystal Save Pro

Crystal Save Pro feature Persistent Asset How
No-code save and load ✅ Saves and loads on its own by default
Component-based setup ✅ Add one component to the GameObject
One component per GameObject ✅ Tick which of its components to save
Remember classes (custom savers) ✅ Write a saver for any component
Spawn saveable prefabs ⭐ Unity’s own Instantiate, no special spawn call
Runtime prefabs restored ✅ Respawned from their prefab
Pick exactly what to persist ✅ Tick which components to save, per object
No manual IDs ✅ IDs assigned automatically in the editor
Your own classes ✅ Their fields are saved
ScriptableObjects ⭐ PersistentScriptableObject base class or attribute
Scales to a whole open world ✅ Split across several save files
Additive scenes ✅ Spawned objects return to their own scene
Objects kept across scenes ✅ DontDestroyOnLoad objects are saved
Unity Addressables ❌ Not supported (documented workaround)
Unity Cloud Save ✅ Built in
Supabase ✅ Copy-paste setup in the manual
Firebase ✅ Copy-paste setups for Firestore and Realtime Database
Unity Cloud Save on WebGL ✅ Works on WebGL
Move to the cloud with one toggle ✅ Switch storage in one dropdown, no code change
Local mirror, works offline ⭐ With Cache Mode, saves land on the device, then sync
Cloud slots refreshed on sign-in ✅ Loads retry until the player is signed in
Manual cloud refresh ✅ Load() and PushPendingChangesAsync()
Screenshots and metadata uploaded ✅ Slot screenshots and metadata can be stored in the cloud
Encrypted local mirror ✅ Protected separately from the cloud copy
No hardcoded encryption key ✅ Key generated per project
Sign-in helpers ❌ Not in scope
JSON format ✅ The default
Binary or JSON cloud transport ✅ Any serializer works with any storage
Added components ✅ Components added or removed at runtime are saved
Mesh and material swaps ✅ Saved as asset references
Child hierarchies ✅ Parent changes are saved
Blendshapes ✅ Weights saved with the renderer
Fully code-generated objects ❌ Only objects spawned from a prefab
Versioned save migration ✅ Upgrade old saves field by field
Non-destructive migration ✅ Old saves migrate once, automatically
Streaming deferred prefabs ❌ Not in scope
MySQL backend 🟠 Through a REST endpoint you put in front of it
Async queries with retry ✅ Async, retried until it succeeds
Restore one object on its own 🟠 Loads whole files: give the object its own save file
Metadata import across titles ❌ Not included
Server-side encryption ✅ Key passed at runtime, never shipped in the build
Pooled prefabs 🟠 Tracked through Instantiate and Destroy only
DontDestroyOnLoad manager ❌ Not in scope
Event-rich API ✅ An event for every operation, also as UnityEvents
MemoryPack serializer ✅ Built in: saves and loads 700 objects in 0.7 ms
Stores only changes ✅ Only what differs from the scene you made
Destroyed-object tracking ✅ A destroyed object stays destroyed after a load
Auto-thumbnails ✅ Per-slot screenshot
Slot metadata ✅ Save time and your own summary
Player and world slots ✅ Each save is either per slot or shared by all slots
Dynamic slots ✅ Any string, or the next free slot
Themeable save and load UI ✅ Ready-made menu; all slots share one editable prefab
Loading spinner ✅ Ready-made spinner
Save sharing: export and import 🟠 Runtime API per object; bundle a whole save yourself
Settings manager 🟠 No-code values bound to your settings
Settings window ✅ Project Settings > Persistent Asset
Performance settings ✅ Saves off the main thread, skipped when nothing changed
Testing guidance ✅ Force any save result in tests
Locale saved ✅ Built-in locale value
Detect local and cloud conflicts ✅ Never overwrites a cloud save it hasn’t loaded
Automatic conflict policy ✅ Newest save wins, or your own merge
Merge API ✅ Merge two saves field by field
Player resolves conflicts in-game 🟠 Player picks one whole save, not field by field
Integrations: Game Creator 2, Opsive… ❌ None
Deterministic IDs ✅ GUID stored in the object, same in every build
Networking sync module (beta) ❌ Not in scope
Full source, no DLL ✅ Full C# source

Bayat Save System

Bayat Save System feature Persistent Asset How
Mono and IL2CPP ✅ Both
Standalone, mobile, WebGL ✅ All three
UWP 🟠 Not tested
Unified API ✅ Same calls for every storage
File storage ✅ Built in
PlayerPrefs storage ✅ Built in
Async API ⭐ Sync, callback, async or coroutine
Check a save exists ✅ Reports whether a save was found
Settings presets 🟠 No presets; select several saves and edit them at once
Create a backup ⭐ Made automatically, on by default
Restore a backup ⭐ Automatic when a save is corrupted
Keep several backups 🟠 One automatic backup; copy saves to other slots for more
Save metadata ✅ Save time and your own summary
Catalog of saved items ✅ Slots listed without loading their data
Json.NET serialization ✅ Newtonsoft (Json.NET) serializer
Json.NET attributes and callbacks ✅ Newtonsoft serializer
Indented JSON output ✅ Indented JSON option
Circular and shared references ✅ Odin built in; the other three serializers with setup
Polymorphic types ✅ Newtonsoft, Odin; Unity JSON, MemoryPack with setup
GameObjects and components ✅ Built in
Texture, material, mesh references ✅ Register the assets or their folder first
Collections and dictionaries ✅ With the Newtonsoft, Odin or MemoryPack serializer
Custom converters ✅ Per value type or per component
ScriptableObjects ⭐ PersistentScriptableObject base class or attribute
AES encryption ⭐ AES-256
Your own encryption algorithm ✅ Extend the file storage and encrypt the bytes yourself
Auto Save component ✅ Add one component to the GameObject
Exclude components or children ✅ Tick only what you want saved
Save on quit or pause ⭐ Also on focus loss and on a timer
Load on start ✅ Loads when your game first uses the data
Firebase Realtime Database ✅ Copy-paste setup in the manual
Firebase Cloud Storage 🟠 No Cloud Storage setup; Firestore setup instead
PlayFab UserData ✅ Copy-paste setup in the manual
PlayFab Entity Objects 🟠 No Entity Objects setup; UserData setup instead
Steamworks.NET ✅ Built in
Facepunch Steamworks ✅ Through Steam Auto-Cloud, which works with any plugin
Google Play Games 🟠 Not built in: write your own storage, three methods
Xbox Live 🟠 Not built in: write your own storage, three methods
PlayMaker 🟠 No PlayMaker actions; built-in no-code components instead
Bolt 🟠 Called through generic nodes, no dedicated ones
Custom storage ✅ Implement three methods
Connection strings ✅ Storage set up in the Inspector
Raw text and bytes 🟠 Stored as a value inside a save, not as its own file
Save images 🟠 Slot screenshots built in; other images need a converter
Move, copy, delete ✅ Slots.Copy, Rename, Delete
List saved items ✅ Slots listed without loading their data
Load into an existing object ✅ Loads straight into your object
Scene reference resolver ✅ References to scene objects are saved and restored
Extensible ✅ Write your own storage, serializer or converters
Full documentation ✅ Quick Usage Guide, User Manual, Public API, XML summaries
Try before purchase 🟠 Playable demo game, no trial package
Unity 2018.4 or newer ❌ Built for Unity 6 and newer