how steam keeps your saves separate
today i wanted to understand how saves work for different steam accounts for the same game on the same device. someone on reddit asked the same question, specifically for a game like hollow knight, where both users saves end up in the exact same folder. no subdirectories. no user-specific paths. just .config/unity3d/Team Cherry/Hollow Knight/ for everyone. and yet somehow the game only shows you YOUR saves.
the question
so here's the setup: you and your roommate share a pc. you both have steam accounts. you both play hollow knight. when you load up your save, its YOUR save and not theirs. but how?
im playing games that arent lost ark!
the reason i was even thinking about this is bc im not playing lost ark anymore. i spent way too much time in that game, but the save situation there always made total sense - its an mmo w server-side accounts. your progress lives on amazons servers, tied to your account. when you log in, the server knows exactly who you are and what characters you have. theres no local save file to worry about. two people could play lost ark on the same pc and thered never be any confusion bc the game itself maintains completely separate accounts.
but what about smth like the witcher 3? its a single player game that saves locally. it has no concept of "accounts" built into the game itself. if you and your roommate both play witcher on the same pc w different steam accounts, how does it know whose 80-hour save file belongs to whom?
the answer: steam swaps your files
turns out steam literally swaps out the save files.
the original poster in the reddit thread tested this on a steam deck w hollow knight. user1 creates a save in .config/unity3d/Team Cherry/Hollow Knight/. user2 logs into their own steam account, creates their own save... and it goes to the exact same folder. no subdirectories. no user-specific paths. just the same folder for everyone.
and yet the game only shows you your own saves. how?
the op was skeptical at first too. but then they watched the directory while switching users and launching the game. one players file literally disappears and gets replaced by another file w the same filename but a different timestamp matching the other users play date. steam is doing a full swap right before the game launches.
theres a little file called steam_autocloud.vdf that sits in the save folder and contains the steam id of whoever's files are currently on disk. when you launch a game under a different account, steam checks this file, goes "oh these arent your files," uploads the current files to the previous users cloud storage, downloads YOUR files from your cloud, and puts them in place. all before the game even knows whats happening.
the game itself has zero awareness of any of this. it just reads from a folder. steam is doing all the work behind the scenes.
one funny detail from the thread: the op noticed that while the main save files get swapped, the .bak backup files that hollow knight creates dont get synced by auto-cloud. so those stick around and leave clues about what files used to be there. little breadcrumbs from previous users.
why it works this way
this swap mechanism is part of something called steam auto-cloud. steam actually has two ways to handle cloud saves, and which one a game uses depends on how much work the developers want to do.
the first way is the steam cloud api, where developers explicitly write code to interact w steams cloud storage. games using this approach store their data in the steam userdata folder, where each user already has their own subdirectory. the game reads and writes saves through an api, and steam handles keeping everything organized by user. clean and simple, but requires steam-specific code.
the second way is auto-cloud, which is the "we dont want to write any steam-specific code" option. devs just tell steam "hey sync these folders" and steam handles the rest. no code changes needed. the game can be completely platform-agnostic and still get cloud saves.
auto-cloud even supports special path variables like {64BitSteamID} that let devs include your unique steam id in the save path. so saves could be stored in smth like SavesDir/76561198027391269/ for you and SavesDir/12345678901234567/ for your roommate.
but using those variables is optional. some devs dont bother, especially if theyre porting an older game or just want to keep things simple. in that case, everyone's saves go to the same folder - and thats when steam has to do the swap thing.
when it breaks
honestly for most games w cloud saves enabled, having separate steam accounts is enough. steams swap mechanism handles it. but there are edge cases.
the main one is games that dont use steam cloud at all and save directly to the install directory or a shared location like %APPDATA%. older games especially. if the game just writes savegame.dat to its own folder and has no awareness of users, then yeah, whoever plays last overwrites everyone elses progress. no cloud sync to save you.
some forum posts ive seen involve family sharing situations where the cloud sync gets confused - maybe someone plays offline and the saves dont upload properly, or theres a conflict between two machines. edge cases, but they happen.
practical advice
if you share a pc:
- separate steam accounts are usually enough for games w cloud saves - the swap mechanism handles it
- for older games wo cloud saves that write to shared locations, you might need separate windows accounts or manual backup management
- check pcgamingwiki for specific games - they document save locations and quirks
- if cloud sync ever gets weird, you can check whats stored at
store.steampowered.com/account/remotestorage(tho someone in the thread complained you can see all your cloud data there but cant delete any of it, which makes resetting saves annoying. classic valve.)
and if you actually WANT to share saves between accounts (maybe you and your sibling had a shared account and now want to split)? someone in the thread said for games like hollow knight you can literally just copy the save file to your desktop, switch accounts, and copy it back. the game doesnt care whose steam id touched it. not all games are this forgiving tho - some like sekiro apparently encrypt saves w your steam id and refuse to load files from different accounts.
closing thoughts
its easy to take for granted the things that just work. but every "it just works" moment is built on layers of decisions that someone made. the dev who chose to use {64BitSteamID} in their save path. the steam engineers who built auto-cloud to be flexible enough to handle it. the documentation writers who explained it clearly enough that devs could implement it correctly.
and when it breaks, its usually because somewhere in that chain, someone made a different choice. not necessarily wrong, just different. maybe they prioritized simplicity over multi-user support. maybe they didnt anticipate family sharing being a thing. maybe they just didnt know the option existed.
theres smth so fun about digging into how these systems work. like peeling back the curtain on a magic trick. the trick is still impressive, but now you understand WHY its impressive.