ZionGames Docs

Home / Zion Tools

🧰 Zion Tools

Unity Editor Asset Tools

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 persistentDataPath so 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.