Tool-assisted SnowRunner saves migration from Microsoft Store / Xbox Game Pass to Steam

Rationale

In my experience, other methods can yield in an incomplete save migration, with most maps covered in fog while the watchtowers are no longer active.

This stems from 2 issues: imprecise file renaming (the migration is basically just that: file renaming)

the way Steam reads save data (Steam is a bit weird and does not always read all files present)Fortunately most of the legwork[blog.s505.su] has been done to discover how to do an exact file renaming.

Also fortunately, the way to handle Steam peculiarities has already been found by people migrating from EGS to Steam.

However it can be quite fiddly and error-prone, so I figured I would automate it.

Tool Up !

The tool is open-source and is hosted on GitHub:

snowrunner-uwp2steam[github.com]

It's written in Python, so it's fairly easy to run it from source for advanced or untrusting users. For ease of use, a one-file executable version is provided: sr_u2s.exe standalone[github.com]

It does 3 things:

Read the contents of a "container" file to discover file names.

Perform file renaming.

Generate a Steam remote cache file.

Instructions

Have both Snowrunner UWP and Steam versions installed (ideally with the same DLC).

Find Snowrunner UWP save location, somewhere like: %LOCALAPPDATA%\Packages\FocusHomeInteractiveSA.SnowRunnerWindows10_4hny5m903y3g0\SystemAppData\wgs\<an identifier>\<another identifier> Make a copy of it to be safe, like C:\Temp\<another identifier> Disable cloud saves for Snowrunner in Steam.

Restart Steam in offline mode.

Run Snowrunner and start a new game. Ensure the game is saved. Exit the game.

Download the latest sr_u2s.exe tool from the Releases page to any directory (like C:\Temp).

Open a command prompt (e.g. Windows key + R, input cmd, click OK), then navigate to the directory containing the tool (like cd \Temp).

Run the tool on the copy of the UWP data and write Steam data to a temporary directory: sr_u2s.exe -i "C:\Temp\<another identifier>" -o "C:\Temp\steam_snowrunner_save" Find Steam saves location, somewhere like:%ProgramFiles(x86)%\Steam\userdata\<your Steam id>\ Copy the directory 1465360 from the Steam data output directory to the Steam saves location, do overwrite files when prompted.

Run Snowrunner. If all went according to plan, you have recovered your save.

Re-enable cloud saves for the game and return online.

As a bonus, when you open your player profile in-game, you should see a number of achievements pop up all at once.

Sample Output

C:\Temp>sr_u2s.exe -i 6DAA06CB4CEF4EF582A82BC66AF8D84A -o steamsavetest Snowrunner save UWP -> Steam start. Container file 6DAA06CB4CEF4EF582A82BC66AF8D84A\container.240 loaded. Copy 6DAA06CB4CEF4EF582A82BC66AF8D84A\23141A4B2A1A4212A6178DA738A3C214 to steamsavetest\1465360\remote\1_fog_level_us_01_01.cfg Copy 6DAA06CB4CEF4EF582A82BC66AF8D84A\618F743BFA794F9585B638B47ED85200 to steamsavetest\1465360\remote\1_sts_level_us_01_01.cfg Copy 6DAA06CB4CEF4EF582A82BC66AF8D84A\6FD33FA564B64F0EBF577A50F1722A43 to steamsavetest\1465360\remote\CommonSslSave.cfg Copy 6DAA06CB4CEF4EF582A82BC66AF8D84A\FB5337148E1D43EB8FD8D05E17886BA6 to steamsavetest\1465360\remote\CompleteSave.cfg Copy 6DAA06CB4CEF4EF582A82BC66AF8D84A\036EE407615E498F99B6308D4DBEC1D1 to steamsavetest\1465360\remote\CompleteSave1.cfg Copy 6DAA06CB4CEF4EF582A82BC66AF8D84A\E841A48C4D394C1CA31FF34F454960E0 to steamsavetest\1465360\remote\achievements.cfg Copy 6DAA06CB4CEF4EF582A82BC66AF8D84A\C471EB6D186C43B7AE4F0C0F5068BDA2 to steamsavetest\1465360\remote\fog_level_ru_02_01_crop.cfg Copy 6DAA06CB4CEF4EF582A82BC66AF8D84A\C86FC2E307E441B2BBCA5B5AA806C962 to steamsavetest\1465360\remote\fog_level_ru_02_02.cfg Copy 6DAA06CB4CEF4EF582A82BC66AF8D84A\A5CD7552EBAC4A0DAF0BC3FEAED67AAD to steamsavetest\1465360\remote\fog_level_ru_02_03.cfg Copy 6DAA06CB4CEF4EF582A82BC66AF8D84A\19BB52EAF1AB4CA8ADCC32A10353FC6A to steamsavetest\1465360\remote\fog_level_ru_02_04.cfg Copy 6DAA06CB4CEF4EF582A82BC66AF8D84A\6AD5C2298EBD4608A3AA9BA1EBCA7996 to steamsavetest\1465360\remote\fog_level_us_01_01.cfg Copy 6DAA06CB4CEF4EF582A82BC66AF8D84A\03602F7D8B404A86B4FA3E0B4672EA5A to steamsavetest\1465360\remote\fog_level_us_01_02.cfg Copy 6DAA06CB4CEF4EF582A82BC66AF8D84A\0A0507BF59634FAD92F9AE953C206A87 to steamsavetest\1465360\remote\fog_level_us_01_03.cfg Copy 6DAA06CB4CEF4EF582A82BC66AF8D84A\4B85367394A64DFB845194191D0DBFB1 to steamsavetest\1465360\remote\fog_level_us_01_04_new.cfg Copy 6DAA06CB4CEF4EF582A82BC66AF8D84A\1D08A11E887E4511AE8B90259D615F9A to steamsavetest\1465360\remote\fog_level_us_02_01.cfg Copy 6DAA06CB4CEF4EF582A82BC66AF8D84A\CB7824A820E94118993D7EA226FB1D64 to steamsavetest\1465360\remote\fog_level_us_02_02_new.cfg Copy 6DAA06CB4CEF4EF582A82BC66AF8D84A\D452D4D24896491AB7EAD41D61A8794C to steamsavetest\1465360\remote\fog_level_us_02_03_new.cfg Copy 6DAA06CB4CEF4EF582A82BC66AF8D84A\826528AD61454CA7951CF9D973546228 to steamsavetest\1465360\remote\fog_level_us_02_04_new.cfg Copy 6DAA06CB4CEF4EF582A82BC66AF8D84A\3A69551A1D4D4C3293FBEB8B6A9F163E to steamsavetest\1465360\remote\sts_level_ru_02_01_crop.cfg Copy 6DAA06CB4CEF4EF582A82BC66AF8D84A\97C9E5CBE4984361B980913AA3B8071D to steamsavetest\1465360\remote\sts_level_ru_02_02.cfg Copy 6DAA06CB4CEF4EF582A82BC66AF8D84A\0D706726E6FF43FCAF458CFF29F135F7 to steamsavetest\1465360\remote\sts_level_ru_02_03.cfg Copy 6DAA06CB4CEF4EF582A82BC66AF8D84A\54C32F65F4324CB09FBDCC02FE90DCB6 to steamsavetest\1465360\remote\sts_level_ru_02_04.cfg Copy 6DAA06CB4CEF4EF582A82BC66AF8D84A\FABEF89DDCA24E4FB302D0F9379E492A to steamsavetest\1465360\remote\sts_level_us_01_01.cfg Copy 6DAA06CB4CEF4EF582A82BC66AF8D84A\075FD448E5374FDCA6BCE5F41BA4255A to steamsavetest\1465360\remote\sts_level_us_01_02.cfg Copy 6DAA06CB4CEF4EF582A82BC66AF8D84A\D33663780D0B469F884E18262E6AAFA9 to steamsavetest\1465360\remote\sts_level_us_01_03.cfg Copy 6DAA06CB4CEF4EF582A82BC66AF8D84A\FB0B8A0D0F374D68BB646B2629C39B8F to steamsavetest\1465360\remote\sts_level_us_01_04_new.cfg Copy 6DAA06CB4CEF4EF582A82BC66AF8D84A\36D49E5B7C364A009E08C5245B289465 to steamsavetest\1465360\remote\sts_level_us_02_01.cfg Copy 6DAA06CB4CEF4EF582A82BC66AF8D84A\4127379BE0D04B40BA35534DAA8BA2E0 to steamsavetest\1465360\remote\sts_level_us_02_02_new.cfg Copy 6DAA06CB4CEF4EF582A82BC66AF8D84A\03121689707F454AA76AC2DEB83ABD3B to steamsavetest\1465360\remote\sts_level_us_02_03_new.cfg Copy 6DAA06CB4CEF4EF582A82BC66AF8D84A\3C9415716F4F431BA5A253AF375A5429 to steamsavetest\1465360\remote\sts_level_us_02_04_new.cfg Copy 6DAA06CB4CEF4EF582A82BC66AF8D84A\BE4B1F2F4C824E11BF7B0B954C227047 to steamsavetest\1465360\remote\user_profile.cfg Copy 6DAA06CB4CEF4EF582A82BC66AF8D84A\4F7CB295F55C43F59B373D32A3F9C8B4 to steamsavetest\1465360\remote\user_settings.cfg Copy 6DAA06CB4CEF4EF582A82BC66AF8D84A\BAD6AC862C654988B016E71DD2A07E71 to steamsavetest\1465360\remote\user_social_data.cfg 33 files copied. Steam remote cache generated (steamsavetest\1465360\remotecache.vdf). Snowrunner save UWP -> Steam end.

Caveats

I've only tested this on my save, which had a single slot used. I don't know if it works for multiple slots. It has now been successfully tested. The other slots file have the same name but add a numbered prefix. For example a new game on the second slot yields those additional files:

1_fog_level_us_01_01.cfg 1_sts_level_us_01_01.cfg The parsing of the container file is the main feature of this tool, but it's also likely the most fragile as it's a proprietary binary format. Any change there would likely break the tool.

Some steps of the guide can be skipped by following "advanced" usage instructions[github.com] . Use at your own risk.

Source: https://steamcommunity.com/sharedfiles/filedetails/?id=2715722194					

More SnowRunner guilds