Custom Games
When a game isn’t in the database — or stores saves somewhere unusual — add it yourself.
Add a custom game
Section titled “Add a custom game”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.
# A whole folder (all files within it)savevault-cli add "My Game" --path "C:\Users\Me\Saves\MyGame"
# Specific files / globssavevault-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 keysavevault-cli add "Old Shareware" --path "D:\Games\Shareware\SAVES" --config-path "D:\Games\Shareware\game.ini" --reg "HKCU\Software\Shareware Inc\Game"
# Linuxsavevault-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.
Share via TOML
Section titled “Share via TOML”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.