Skip to content

jb92/GameSaveSync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GameSaveSync

A .NET 10 CLI tool that safely syncs video game saves across multiple PC platforms: Xbox/Game Pass, Steam, Epic Games, GOG, Ubisoft Connect, EA App, and Amazon Games. Works in any direction without corrupting saves.

Supported Platforms

  • Xbox / Microsoft Store (Game Pass PC)
  • Steam
  • Epic Games Store
  • GOG
  • Ubisoft Connect
  • EA App
  • Amazon Games

Features

  • Safe sync — Atomic file copies with SHA-256 checksum verification
  • Automatic backups — Creates a timestamped backup before every sync
  • Conflict detection — Detects when both sides have been modified and prevents accidental overwrites
  • Process guard — Blocks syncing while the game is running
  • Multi-platform — Sync between any two (or more) configured platforms
  • Restore — Roll back to any previous backup if something goes wrong
  • Profile system — Configure save paths per game once, then sync with a single command

Requirements

Build

dotnet build

Install

.\install.ps1

This publishes the tool and adds it to your PATH. Restart your terminal afterward.

Usage

Add a game profile

gamesavesync add

Interactive prompts will ask for:

  • Game ID (short name, e.g. starfield)
  • Display name
  • Platform save paths (at least 2 platforms)
  • Optional file include/exclude patterns
  • Optional game process names (to prevent syncing while game is running)

Or non-interactively:

gamesavesync add --id starfield --name "Starfield" ^
  --platform xbox="%LOCALAPPDATA%\Packages\BethesdaSoftworks.Starfield_3275kfvn8vcwc\SystemAppData\wgs" ^
  --platform steam="%USERPROFILE%\Documents\My Games\Starfield\Saves"

You can add as many platforms as needed:

gamesavesync add --id hades --name "Hades" ^
  --platform xbox="%LOCALAPPDATA%\Packages\SupergiantGamesLLC.Hades_q53c1yqmx7pha\SystemAppData\wgs" ^
  --platform steam="%USERPROFILE%\Documents\Saved Games\Hades" ^
  --platform epic="%USERPROFILE%\Documents\Saved Games\Hades"

Check sync status

gamesavesync status starfield

Sync saves

# Auto-detect direction (newer overwrites older, only for 2-platform profiles):
gamesavesync sync starfield

# Specify source and destination platforms:
gamesavesync sync starfield --from xbox --to steam
gamesavesync sync starfield --from steam --to xbox

# Skip confirmation prompt:
gamesavesync sync starfield --from xbox --to steam -y

Create a manual backup

gamesavesync backup starfield
gamesavesync backup starfield --platform xbox

Restore from backup

# List available backups:
gamesavesync restore list starfield

# Restore the most recent backup:
gamesavesync restore starfield --platform steam

# Restore a specific backup by index:
gamesavesync restore starfield --platform steam --index 2

List all configured games

gamesavesync list

Remove a game profile

gamesavesync remove starfield

Safety Guarantees

  1. Pre-sync backup: A full backup of the destination is created before any files are overwritten
  2. Atomic copies: Files are written to a temp file first, verified with SHA-256, then atomically moved into place
  3. Post-sync verification: After syncing, every destination file is re-verified against the source checksum
  4. Process guard: Syncing is blocked if the game process is detected as running
  5. Conflict detection: If both sides have been modified since the last sync, the tool refuses to auto-sync and asks you to pick a direction
  6. Rollback: If verification fails, the backup path is shown so you can restore immediately

Tested Games

Games that have been validated with GameSaveSync:

Game Platforms Tested Status
The Elder Scrolls V: Skyrim Special Edition Xbox ↔ Steam ✅ Working
Fallout Xbox ↔ Steam ✅ Working
Hades 1 Xbox → Steam (WGS) ✅ Working (one-way, see warning below)

If you've tested another game or platform combination, feel free to open an issue or PR to add it to this list.

Data Locations

Item Path
Game profiles %APPDATA%\GameSaveSync\profiles\
Backups %APPDATA%\GameSaveSync\backups\
Logs %APPDATA%\GameSaveSync\logs\

Important Notes

  • Xbox/MS Store: Saves are in %LOCALAPPDATA%\Packages\<PackageFamilyName>\. You may need to take ownership of the wgs folder to access them.
  • ⚠️ WGS Container Warning: Some Xbox/Game Pass games (e.g. Hades, Celeste, Starfield) store saves in the WGS container format — a proprietary Microsoft binary structure where files are stored as GUID-named blobs. GameSaveSync can extract and read WGS containers, but cannot write back to them. This means syncing from Xbox to other platforms is a one-way trip. You can sync Xbox → Steam/Epic/etc., but not the other way around for WGS-based games. The tool will automatically detect WGS containers and block write attempts to prevent corruption.
  • Steam: Save locations vary by game. Check PCGamingWiki for specific paths.
  • Epic/GOG/Ubisoft/EA/Amazon: Save locations are game-specific. PCGamingWiki is the best reference for finding them.
  • Always run status first to verify your profile configuration before syncing.

License

MIT

About

A .NET 10 CLI tool that safely syncs video game saves across multiple PC platforms: Xbox/Game Pass, Steam, Epic Games, GOG, Ubisoft Connect, EA App, and Amazon Games.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors