Save Settings
Access the save settings in the top menu: Tools/Crystal Save/Settings/Crystal Save Settings
Everything that can be setup and configured in Crystal Save has to be done inside the Crystal Save Settings window. The default settings are ready for all non-cloud saving games. The Save Setting files are located here: Assets/Plugins/CrystalSave/Resources/

Save Method
In Crystal Save you can save into the Player Prefs or as Save-File. The default file format is binary (JSON is possible).
Version
Sets the Game Version. This setting is only required for Save Migration
Save File Name
The Default String for save files
Persistent Path Mode
Mode: Default -> Application.persistenDataPath
Mode: Custom -> Choose your custom persistentDataPath
Optionally Migrate existing Data to new Custom Path
Changing the persistent path can help WebGL builds that fail to save and throw errors. The issue is that Unity has deprecated manual sync. You may see a harmless warning in the browser console today, but in a future Unity version this workaround may stop working, which could also trigger harmless Crystal Save warnings.
Save Key
The Default String for the Player Prefs keys
Save Slots
Number of Save Slots
The number of Save Slots available
Number of Quick Save Slots
Quick Saves share the same List of Save Slots with Auto Saves and Regular Saves. Set here how many Quick Saves Crystal Save has to remember. By default they start in separate block so they won't clash with normal or auto-saves unless the slot numbers overlap.
New Quick Saves always go in the first Quick Save Slot and push older ones up
Auto Save Slot Number
Which slot the auto saves uses. Set 0 to disable auto saves. Regular or quick saves can still overwrite this slot if they use the same number.
Cryptography Settings
Enable Encryption
Encrypt save blobs with AES-256-GCM before upload/local mirror.
Supports all platforms:
Uses BouncyCastle (a software encryption library) on WebGL and Linux encryption, which may increase CPU load during load/save operations
Compression Settings
Enable Compression
Compress serialized save data before encryption using GZip. Reduces file size but increases CPU usage and slows load times when saving or loading (mobile devices)
Backup & Verification Settings
Enable Save File Verification
Keep a temporary .bak copy of the previous .sav next to the save file inside Application.persistentDataPath and verify the new save.
The backup is deleted after verification succeeds.
Backup files are stored only locally and are never uploaded to the cloud
Screenshot Settings
Enable Screenshots
Enable or disable capturing in-game screenshots for each save slot
Screenshot Folder Name
The folder name within peristenDataPath to store screenshots
Screenshot Provider
Select which screenshot provider to use when Naninovel is available. You can hook-in your own screenshot provider through code.
Screenshot Format
Crystal save allows saving of screenshots in the format JPG and PNG
Custom Metadata
Add here your Custom Metadata and default values fields like Player Name, Level, Map Name, etc.
Use in Playmaker SetSaveSlotMetadata or in Game Creator InstructionSetSaveSlotMetadata or set Metadata through code:
Player Name example. Add a new Custom Metadata. Set as Key 'Player Name' (without quotes). We leave Value empty.
SaveSlot slot = SaveManager.Instance.GetSaveSlotByNumber(1);
slot.CustomMetadata = new Dictionary<string, string>();
slot.CustomMetadata["Player Name"] = "John Doe";
Conflict Resolution
Crystal Save can reconcile save conflicts automatically without prompting the player. Enable Auto Resolve Conflicts on the SaveSettings
asset or in the settings window to let the system choose which side should win when a local and cloud save both exist for the same slot.
When enabled you can pick a Conflict Policy:
Latest
– keep the save with the most recentUpdatedAt
timestamp.Oldest
– prefer the oldest save.LocalWins
– always keep the local file.CloudWins
– always download the cloud version.MetadataRules
– evaluate up to two metadata comparisons before falling back to the timestamp.
For MetadataRules
, define one or two key/operator/value comparisons using metadata keys from SaveSlotMetadataSO
. All rules must pass for the conflict to auto-resolve; otherwise the system uses the policy’s fallback behavior.
Logging Settings
Log Level
4 levels:
Off - Turns off Logs
Error - Show only Errors
Warning - Show Errors and Warnings
Info - Show all Debug Log Messages
Automatic Registration Settings
Auto Register Tags
Automatically register Tags when the project changes or after assembly reload.
Auto Register Prefabs
Auto-register prefab assets when the project changes or after assembly reload. This setting will be marked obsolete in future releases because the Remember Prefab component will register the Prefab automatically. Leave the setting disabled.
Migration Settings
Auto Save Migrated Data
Overwrite existing Saves after migration: If enabled, an old Save-file gets migrated to the new version and then auto-saved. If disabled, it will migrate an old save-file each time when it is loaded as it never gets saved in the version format.
Addresables Settings
This setting is only visible if you have the Unity Addressables Package installed. Install the Addressables Package with the Unity Package Manager.
Use Addressables
Enabling Addressables will tell the class AssetProvider to make use of Addressables instead of loading assets through Resources folder.
How to use Addressables?
Cloud Save Settings
Enable Cloud Save
If true, the SaveSystem will use a Cloud Save Solution instead of local saving methods.
Save Backend
Unity Cloud Save
Supabase
Self-hosted MySQL web server
Firebase
Default Auth Provider
Authentication method that will run before Cloud Save becomes available. Choose between:
Anonymous
Unity (Unity Player Account)
Username & Password
Google Play
Apple
Facebook
Steam
Comes with a basic integration for Steamworks.net. Please check SteamManager class in Assets/Plugins/CrystalSave/Runtime/Utility/Platform/SteamManager.cs
Cloud Save Transport
Some WebGL host solutions and Cloud Save providers require save-files in JSON format. Choose between JSON and Binary. Choosing JSON will convert Binary Save-File as JsonBase64 (quoted Base64). Please note: This conversion will not create a human-readable file.
Keep Local Mirror
Store screenshots, metadata, save-files locally even when Cloud Save is enabled.
Upload Screenshots & Metadata
Save also screenshots files and slot metadata to Unity Cloud Save
Auto-Login Unity Cloud Save
If enabled, SaveManager will auto-sign in to Unity Cloud Save on startup. Useful if Default Auth Provider is set to Anonymous. Turn off to handle login yourself via a custom UI.
Prefab Registry
Prefab Entries
Prefabs that get a Remember Prefab component attached, get automatically added to the Prefab Registry. Here you can Register, edit, validate or delete Prefabs manually. Registering a prefab manually if auto-registering fails, do it manually:
Click on your prefab
if not already added, add a Remember Prefab component
Click on the Copy ID button at the bottom of the component
Go to your Prefab Registry in the Crystal Save Settings and click on the plus button to add a new empty element.
Paste the ID into Unique ID and reference the Prefab via drag and drop
Button Auto-Register Prefab Assets
if auto-registering fails, do it automatically:
Click on the Auto-Register Prefab Assets button
This process can take up to several minutes depending on the number of prefabs in your project
Button Validate UniqueIDs
Wipes the Unique ID in the Prefab and checks Prefab Registry entries for missing or duplicate PrefabAssetID strings and offers to auto-fix problems.
Button Clean Duplicates
Removes duplicate prefab rows (same asset GUID) from the Prefab Registry, keep the first occurrence.
Deregister & Purge Prefabs
Removes all Crystal Save components (Remember components, Remember Prefab component and other hidden Crystal Save components) from all registered prefabs and wipes registry.
Tag Registry
Tags
Add, Edit or Remove Tags or Auto-Add Tags by clicking on the button Auto-Register Tags. This setting is likely never touched and only relevant if Auto Register Tags is disabled
Scene Object Registry
Scene Object Entries
Manage here scene objects and their prefab mappings for restoration. This Registry is relevant if you destroy GameObjects during runtime, and you want to restore these destroyed GameObjects with an identical prefab-version.
Requirements
Remember Component with added Remember GameObject component
Remember GameObject remembers Destroyed
Prefab representation shares the same UniqueID
Access the Unique ID by clicking in the Remember Component on Unique ID
Register a Scene GameObject
Create a prefab representation of the Scene Game object. Make sure they share the same Unique ID.
Copy the Unique ID and paste it in the Unique ID field.
Reference the prefab
After Scene Reload, you will see a linked symbol in the hierarchy window, this means this GameObject can now be restored.

Please note the settings Scenes to Scan, Use Prefab Link Fallback and Auto-Populate Scene Objects are currently not working as expected and will get fixed in a later version.
Last updated