🧰 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 Safety
All built-in sources are designed to be non-destructive.
PersistentFileSource
Writes to {path}.tmp, then atomically swaps it into place using File.Replace, moving the previous content to {path}.bak. A crash or power-cut mid-write will never corrupt the live save - at worst you're left with a stray .tmp file the source skips on next refresh.
PlayerPrefsSource
Stashes the previous value of any key in EditorPrefs under Zion.SaveInspector.PlayerPrefs.Backup.{key} before overwriting or deleting. The Watch List window exposes a Restore button when a backup exists.
Backups double as diff baselines 1.1
Every automatic backup is also a comparison target. Run Compare > With Backup before Save Changes to preview exactly what the write will modify, or after a play session to see what the game wrote.
Recommended practices
- Always back up your saves before bulk editing. The inspector writes in-place via
ISaveSource.Save- there's no undo across the source boundary, but the automatic backup means the previous state is always one Compare (or Restore) away. - For destructive testing, write a custom source that targets a copy of
persistentDataPathso edits don't affect your real game data. - Use the format dropdown to force a re-parse with a different format without touching the file.
- Use Reveal to round-trip into your text editor for format-level surgery the inspector can't do.
Safety guarantee - file writes are atomic, and previous values are preserved as
.bak siblings (files) or EditorPrefs backups (PlayerPrefs).
Continue to Troubleshooting.