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 recent UpdatedAt 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.

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