🧰 Zion Tools
Unity Editor Asset Tools
Overview
Installation
Quick Start
Concepts
Window Reference
Editing
Tree Search
Save Diff
Schema & Reports
Built-in Providers
PlayerPrefs
Custom Source
Custom Format
Tutorial
API Surface
Save Safety
Troubleshooting
Save Diff 1.1
The Compare ▾ button diffs the tree currently open in the editor - including unsaved edits - against a second payload, and answers the question the raw files can't: what actually changed?
Comparison targets
| Menu item | Compares against |
|---|---|
| With Backup | The source's automatic backup - the .bak sibling for file saves, the EditorPrefs stash for PlayerPrefs. Available whenever the current source implements ISaveBackupProvider and a backup exists. |
| With Another Save | Any other entry in the current source. |
| With File… | An arbitrary file picked from disk - for example, a save emailed in with a bug report. |
How it compares
The comparison payload is parsed with the best-matching format, then both trees are flattened to dotted paths (stats.health, inventory[2].id) and compared. Object members compare by name - order-insensitive - while array elements compare by index.
The Save Diff window
| Row badge | Meaning |
|---|---|
| ADDED | Present only in the current save. |
| REMOVED | Present only in the comparison payload. |
| CHANGED | Same path and kind, different scalar value. |
| TYPE | Same path, different node kind - e.g. a number that became a string. |
Before and after values sit side by side; container rows summarise child counts. Per-category filter toggles and a path search field narrow long diffs, and Copy as Markdown exports the whole diff as a table for a bug tracker or pull request.
Two workflows worth knowing
- Pre-save preview. Because unsaved edits are included, running Compare > With Backup right before Save Changes shows exactly what the write will modify - a safety net for aggressive editing sessions.
- Bug triage. Compare a player's broken save against a known-good slot (or file) to pinpoint the divergence in seconds instead of reading two JSON files line by line.
Custom sources light up With Backup by implementing
ISaveBackupProvider - one method. See Custom Source.
Continue to Schema & Reports.