Could we have a way to customize ProjectUserDir in a packaged build ?

Hello !

My simple need today was to store the saves and config files under %USERPROFILE%/Saved Games with a custom name (not the project one) and with a folder with steam account id allowing to share a computer or steam console, while separating saves and steam clouds environment - easy right ?

For the folder, it was easy. If you start the slotname with steamaccountid/, Unreal is clever enough to create a folder, perfect.

I checked everywhere today, and found these are the ways to customize the project user directory (where every saves and config are in a packaged build) :

  • Edit FPaths directly and compile engine - I’m not compiling the engine at the moment but using the one downloaded from Epic
  • Adding -userDir as a command line argument, easy, but sadly, neither steam or Unreal handles variable in there. %USERPROFILE% stays like that and never resolve to a path.
  • Writing my own save system, writing on disk and reading. Easy, but I would have also to handle config files manual writing. Mhhh, bit tedious.

So I was left without any satisfying solution, where a nice and clean option in packaging category like project user directory once packaged, allowing usage of variable, per environment would be great.

What I ended up doing was coding a launcher, in C#, allowing to get current %UserProfile% folder, and starting the game with -userDir= with the right value, already transformed. It’s messy, but it works, even under steamdeck with Proton.

Would you have a way to do that easily, something I haven’t found ?

If there is none, my suggestions :

  • Best : A setting in project setting
  • Good : -userDir handles environment variable (%LOCALAPPDATA% / %USERPROFILE / $home etc.)
  • Perfect : Being able to customize save folder and project name, avoiding exposing some unwanted internal project naming.

I’m not against Local App Data by default but there is a special folder on windows to store saved games, called saved games :smiley:

Please Epic, help us on that.

Thanks !

Narom

I attempted to modify the default name of the Windows folder in the Unreal packaged program flow, but ultimately failed. The only way I managed to do it was by renaming it by pressing F2 after the package was created. Haha