Rolly Docs

Set where saves are kept

Choose the prefix of your save files, the storage they go to and how strongly they are compressed, and see which files Rolly Save writes and which it leaves alone.

Sheet
46 of 64
Rev
1.0.0
Updated
On this sheet

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.sav and _b.sav A save slot: two copies, so a crash during a save never loses the save before it
<prefix>_profile_<key>_a.sav and _b.sav A player profile
<prefix>_index_a.sav and _b.sav 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.