Having the same issue with Windows Shipping Builds, but figured it out.
I followed it back to the function where the UserSettingsDir is set for shipping games.
On Windows, it calls UserSettingsDir() in WindowsPlatformProcess.cpp.
If you change the following at around line 785:
HRESULT Ret = SHGetFolderPath(NULL, CSIDL_LOCAL_APPDATA, NULL, SHGFP_TYPE_CURRENT, UserPath);
to:
HRESULT Ret = SHGetFolderPath(NULL, CSIDL_MYDOCUMENTS, NULL, SHGFP_TYPE_CURRENT, UserPath);
and add a ‘My Games’ folder to the final string at around line 789:
WindowsUserSettingsDir = FString(UserPath).Replace(TEXT("\\"), TEXT("/")) + TEXT("/") + TEXT("My Games/");
It will create the Saved folder in My Documents/My Games/GameName/Saved/, which is similar behaviour to a number of UE titles. In there right now alongside our game on my machine is /SpecOps-TheLine/ and /The Vanishing of Ethan Carter/.
What’s weird is this comment above the line that sets the user folder in appdata, which says to me this is either an oversight or a change of plan:
// get the My Documents directory
You can also look into Paths.cpp, in the functions ShouldSaveToUserDir() and GameUserDir() if you don’t want to modify the WindowsPlatformProcess.cpp, but modifying just the windows one will stop anything weird happening with other platforms.
Hope this helps!
- aguycalleddave