Save files

Save files are files that contain the  file extension.

Save File Location
For both Steam and Epic Games version, the save files are located in: or Take note the Steam ID and Epic ID may not be the same. To share save files across platform, simply copy over the save files.


 * If you cannot find your steam save folder (probably because you have owned the game in Epic and just bought the Steam copy recently), first start a new game with Steam, then save the new game. You should now be able to see your steam save folder beside epic. The steam ID is usually shorter than the Epic ID. The folder location is stated above.

Linux (using Steam Play)
The save location is: -or as of June 2021 (using PROTON) The Save Location is:

/LocationOfSteamLibraryWithSatisfactoryInstalled/steamapps/compatdata/526870/pfx/drive_c/users/steamuser/Local Settings/Application Data/FactoryGame/Saved/SaveGames/Your

Steam64 ID/*.sav

Save editing
Save files can be edited using online tools such as Satisfactory Interactive Map. See here.

Cloud sync
If playing on Epic Games or Steam and the Cloud Sync is enabled, a notification may sometimes appear when the player: And you will be prompted to either upload your save file to the cloud or download the save file from the cloud to your PC.
 * Switches the game version between experimental and stable
 * Copies over the save game across different platforms
 * Continues a game at different machine

Unless you are playing across multiple PC, always choose upload your save file to the cloud to avoid losing your progress. And always back up your saves!

Save File Format
This page is a work in progress.

This page describes the save file format. These values and structures were determined by opening to save files using a hex editor.

Data is stored in Little Endian encoding.

Starting with Save Version 21, the body of the file is compressed in chunks. See Compressed Save File Format below.

Multiple times throughout the file you will see templates like {1} used, which means it uses the value of that field for its size or other math.

Note that all strings are null-terminated, so you almost always want to read all strings of their length - 1.

The length of the string is determined by the previous Int32. A negative length means that the String is encoded in UTF16.

Save Body
In decompressed save files, this save body will appear 4 bytes after the start of the Zlib decompressed stream.

World Object Data
Here is a generic property type format, each property then has a descendant with extras.

Property
This generic property type is used for primitive types like integers, floats, strings, booleans, etc.

MapProperty
MapProperty's length is given in the Property header, that's the size of the actual data. There's an extra 0x0 byte right after the PropertyType field, after on 4 octets the number of internal fields is present. After this there will be that many entry pairs, but each entry only contains the object's value, not the complete object serialization.

Compressed Save File Format
This section is a work in progress.

After reading the save file header and checking the save version is at least 21, the body is composed of a certain amount of compressed chunks. Each chunk has a 48 bytes header followed by a zlib compressed body.

Note: When fully decompressing the save body with Zlib, the resulting bytes will include an Int32 indicating the number of bytes in the result. As such, the World Body Count Int32 in the Save Body specification above will begin at offset 0x4 in the decompressed stream.

Trivia

 * Creative Mode can be enabled by editing a save file, with third-party tools providing a GUI interface for doing so. Much like the 4-player limit for multiplayer, that there is no interface to change this option within the Satisfactory client indicates that this feature is unsupported.