C# console app to package a PalWorld save from Xbox Game Pass to another platform (e.g. steam)
Based off of https://github.com/Z1ni/XGP-save-extractor/ but re-wrote for Palworld only as I didn't have python installed on my gaming PC to modify the script.
This program was rushed to work and not in a good state, but I have released it to help others. I apologise if it doesn't work.
- Install .NET Runtime 8.0.1 or .NET Desktop Runtime 8.0.1 if using the famework dependant release
- Download and extract
- Run PalWorldXGPSaveExtractor.exe
- Follow promps
- Once finished check "extracted" folder for the save archive
- Go to %LocalAppData%\Pal\Saved\SaveGames
- Extract and overwrite UserOption.sav
- Extract all other folders into steam user save folder
The savegames folder structure should look similar to this:
SaveGames
└ <steam_user_id_code> e.g 12345678901234567
└ <world_savefile_guid> e.g.71787C374B88F0E4F81E9DBAD77B81E6
├ Players
| └ 00000000000000000000000000000001.sav
├ Level.sav
├ LevelMeta.sav
├ LocalData.sav
└ WorldOption.sav
Thanks to @Z1ni for the python script this is based on & @snoozbuster for figuring out the container format at goatfungus/NMSSaveEditor#306.