🧰 Zion Tools
Unity Editor Asset Tools
Overview
Animation Diagnostics
Zion Scene Backup
Zion Save Inspector
Zion Dependency Graph
Zion Asset Auditor
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.