Skip to content

Custom Games

When a game isn’t in the database — or stores saves somewhere unusual — add it yourself.

Point SaveVault at a folder, a single file, or a glob. Saves and configs are separate lists, and on Windows (or inside Proton prefixes on Linux) you can add registry keys too. Repeat any flag for multiple entries; at least one of --path, --config-path, --reg, or --reg-config is required, so a registry-only entry is allowed.

Terminal window
# A whole folder (all files within it)
savevault-cli add "My Game" --path "C:\Users\Me\Saves\MyGame"
# Specific files / globs
savevault-cli add "My Game" --path "C:\Users\Me\Saves\MyGame\*.sav" --path "C:\Users\Me\Saves\MyGame\*.cfg"
# Saves and configs kept apart, plus a registry key
savevault-cli add "Old Shareware" --path "D:\Games\Shareware\SAVES" --config-path "D:\Games\Shareware\game.ini" --reg "HKCU\Software\Shareware Inc\Game"
# Linux
savevault-cli add "My Game" --path "<home>/.local/share/MyGame/saves"
savevault-cli remove "My Game"
Flag Meaning
--path Save location: folder, file, or absolute glob.
--config-path Config location, restored only with --include configs or both.
--reg Registry key backed up as save data.
--reg-config Registry key backed up as config data.

A folder path backs up everything inside it, recursively. With a glob, a bare *.ext matches only the folder’s direct children; use **/*.ext (**\*.ext on Windows) to reach nested folders too.

Paths may start with a placeholder such as <home>, <documents>, <appData>, <localAppData>, <publicDir>, <xdgData>, or <xdgConfig>, which resolves on whichever machine the game ends up on. Paths that start with ./ or ../, or contain a .. segment, are rejected, and a glob must be absolute or start with a placeholder. savevault-cli add and the form both refuse them, and a hand-edited or imported TOML entry like that is dropped with a warning in the log.

A custom game only appears in the game list once SaveVault finds at least one matching file. Entries whose paths are empty or not created yet are saved but stay hidden until files appear; Refresh picks them up.

In the GUI, use + Add Game on the Backup page. The form has four fieldsets on Windows and Linux: Save Paths, Config Paths, Registry (Save) Keys, and Registry (Config) Keys; on macOS only the two path fieldsets appear. A Placeholders row inserts the tokens above at the end of the path box you last focused, a Patterns row appends *.sav, *.cfg, *.dat, or **/*.sav the same way, and each path row has a Browse button that picks a folder. To change a custom game later, use the Edit button on that game’s row on the Backup page, next to its Remove button. Adding, removing, editing, or importing a custom game patches only that entry’s scan cache — SaveVault doesn’t re-walk the whole database, so it’s effectively instant.

Export your custom games to a TOML file from Settings → General → Custom Games (the section is import and export only) and import them on another machine, or bundle them into a settings export with --include-custom-games. On import, a per-entry Add / Replace / Skip flow lets you resolve conflicts; from the CLI, settings custom-games-plan writes that plan as an editable file. savevault-cli settings import on a bundle that contains custom games needs one of --custom-games-use-defaults (Add new names, Replace existing ones), --custom-games-decisions <plan.toml>, or --no-custom-games. Add --include-custom-games to settings export to put them in a bundle.

The custom games file is custom_games.toml in the config folder, one [games."Name"] table per game with name, paths (each with platform, path, and kind of save or config), and optional registry_save and registry_config lists. It also takes a winePrefix list for a game whose Wine or Proton prefix SaveVault can’t work out from your install roots. There is no form field for it, and the Edit form and savevault-cli add rewrite an entry without it, so add it to the file after your last edit.