Vault Save System

Drawers — Save Slots

A drawer is a named save file. Switch between them to implement multiple save slots, per-player profiles, or a separate settings file.

API

static void SetDrawer(string name) static void SetDefaultDrawer() static string ActiveDrawer { get; } static bool DrawerExists() static void DeleteDrawer() static string[] GetAllDrawerNames() static void CopyDrawer(string source, string destination) static void DeleteAllDrawers()

Switch Slots

Vault.SetDrawer("save_slot_1");
Vault.Save("gold", 500);

Vault.SetDrawer("save_slot_2");
Vault.Save("gold", 1200);

// Switch back to the built-in default drawer
Vault.SetDefaultDrawer();

Check Before Loading

// Check if a slot exists (new game vs returning player)
Vault.SetDrawer("save_slot_1");
if (!Vault.DrawerExists())
{
    StartNewGame();
    return;
}

List All Slots

string[] saves = Vault.GetAllDrawerNames()
    .Where(n => n.StartsWith("save_slot_"))
    .ToArray();

Copy & Delete

// Auto-backup before overwriting
Vault.CopyDrawer("save_slot_0", "save_slot_0_backup");

// Wipe everything (reset game / dev tool)
Vault.DeleteAllDrawers();

Use SetDefaultDrawer() as a shortcut to switch back to the built-in "default" drawer.