Pick the settings
Project Settings > Plugins > Rolly Save, saved in DefaultGame.ini:
| Setting | Default | What to choose |
|---|---|---|
| File Prefix | rollysave |
A short name of your game: 1 to 16 lowercase letters and digits, starting with a letter. Set it before release: saves under an old prefix no longer show after a change. |
| Storage Backend | Platform Save Storage | Platform Save Storage for a shipped game. Memory Only (not saved) for kiosk demos and tests. A C++ subclass of Rolly Save Backend for storage of your own, such as a cloud store. |
| Compression | Balanced | Balanced for most games, Fast for large worlds saved often, Smallest for small saves or tight storage quotas, Off for the fastest saves. Every setting loads files written with any other. |
A prefix or backend that cannot be used falls back to rollysave or Platform Save Storage, and a setup error in the Message Log and on screen says what to fix.
Find the save files
Platform Save Storage writes through the platform’s save system: Saved/SaveGames on Windows, Mac, Linux and Android (%LOCALAPPDATA%\<Project>\Saved\SaveGames in a packaged Windows game), the platform’s save storage on iOS and consoles.
| File | Holds |
|---|---|
<prefix>_slot_<key>_a. and _b. |
A save slot: two copies, so a crash during a save never loses the save before it |
<prefix>_profile_<key>_a. and _b. |
A player profile |
<prefix>_index_a. and _b. |
The slot index: each slot’s newest copy and its header, for slot lists |
The key is the slot’s name in lowercase, so Slot1 and slot1 are one slot on every platform. A name with other characters, or longer than 40 characters, keeps its letters and digits and gains eight hex digits: My Slot! becomes my_slot_7537df76. The name as your game gave it stays inside the file.
Two names can make one key, such as My Slot! and a slot your game names my_slot_7537df76. Rolly Save refuses the second save with NameCollision and a setup error that names both, instead of letting one slot replace the other. Put the slot’s name in the file’s display name (FRollySaveFileHeader::DisplayName) so the check can see it.
Keep other files safe
Rolly Save lists, reads, writes and deletes only files of its prefix and these names, compared with case. Enhanced Input’s key files, Rolly Settings’ files and your game’s other saves in the same folder are never touched. Give no other file a name that starts with your prefix: on Windows, names that differ only in case are one file.
Run one copy of the game per save folder at a time. Each running game remembers which copy holds the newest save; a second copy writing the same files is not noticed and can write over a save the first one just made.
List the saves
URollySaveStore::List returns every slot and profile of a prefix from the slot index, with the display name, save time, versions and metadata of its newest copy, without reading a save. The index is written after each save, load or delete that changes it.
- On storage that can list its files (desktop, mobile), the first listing of a session checks the index against the files: a slot copied into the folder is added, a slot whose files are gone is dropped.
- On storage that cannot list its files, as on some consoles, the index is the only list. A slot missing from it, such as after both index files were deleted, returns when it is loaded by name.
- A slot whose newest copy is damaged or made by a newer version is left out of a list rebuilt from the files.