Fichiers de sauvegarde

**Save files** are files that contain the `.sav` file extension.

## Save File Location

For both Steam and Epic Games version, the save files are located in:

`%localappdata%\FactoryGame\Saved\SaveGames\<your id>`
or

`C:\Users\<your Windows username>\AppData\Local\FactoryGame\Saved\SaveGames\<your id>`

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:

`~/.local/share/Steam/steamapps/compatdata/526870/pfx/drive_c/users/steamuser/Local Settings/Application Data/FactoryGame/Saved/SaveGames/[your Steam ID]`

### 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:

* Switches the game version between experimental and stable
* Copies over the save game across different platforms
* Continues a game at different machine

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.

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

A save file has a header and a body. The body of the file is compressed in chunks - see **Compressed Save File Body Format** below.

As of Patch 0.6.1.3 (Early Access Build 202470, released on September 28, 2022), the produced save file header has version 10, the save version is 30 and the editor object version is 40. For these versions, this format description should be correct, but may not be complete: It is possible that not all potential structures were present in the analyzed save files.

### Basic data types

There are five basic types that are used to compose more elaborated structures in the save files:

#### Byte

A single 8-bit byte that represents a signed integer between -128 and 127.

#### Int

Four consecutive bytes in little-endian order that represent a signed integer between -2,147,483,648 and 2,147,483,647.

#### Long

Eight consecutive bytes in little-endian order that represent a signed integer between -9,223,372,036,854,775,808 and 9,223,372,036,854,775,807.

#### Float

Four consecutive bytes in little-endian order that represent a signed floating-point number with single precision, according to the binary32 format of IEEE 754.

#### String

A variable-length byte sequence of UTF-encoded characters, null-terminated:

 variable
 1 or 2

A length of zero represents the empty string and occupies just these four bytes. A positve length means that the characters are encoded in UTF-8. A negative length means that the characters are encoded in UTF-16 little-endian, without a byte-order mark. In this case, the given negative length has to be multiplied by minus two to get the number of bytes the rest of the string occupies (including the two bytes for null-termination).

### Composite data types

Using the basic data types defined above, a save file has two top-level structures: a SaveFileHeader and a SaveFileBody. These are composed of different intermediate data types themselves.

These composite data types are documented below. A data type is a list of ordered fields, each field is a row in the table of the data type. So, for example: The SaveFileHeader begins with an Int (four bytes) that represents the save header version. This is followed by another Int (the next four bytes) that represents the save version and so on.

#### CompressedSaveFileBody

Directly after the save file header, the save file body begins with a list of zlib-compressed chunks. Each compressed chunk has this format:

#### SaveFileBody

The save file body is the concatenation of the uncompressed chunks. The body mainly consists of a list of sublevels and the persistent level.

 Int
 N/A
 Int

#### Level

Each level has a list of game objects (actors and components), preceded by a list of headers for these objects.

#### ComponentHeader

 String
 String

#### ComponentObject

 N/A
 N/A

#### Properties

Properties contain very different types of information. Every property has a name, which has the basic data type String.

##### PropertyList

Zero, one or multiple properties concatenated form a PropertyList. The special property named "None" marks the end of a PropertyList. All other properties in a PropertyList also have a type, which has the basic data type String. After the "name" and the "type" strings, the type-specific part begins. For these, see the following "...Property" descriptions.

##### BoolProperty

 Byte
 Byte

##### ByteProperty

 Int
 String
 Byte

##### EnumProperty

 Int
 String
 Byte

##### FloatProperty

 Int
 Byte

##### IntProperty

 Int
 Byte

##### Int64Property

 Int
 Byte

##### NameProperty

 Int
 Byte

##### ObjectProperty

 Int
 Byte

##### StrProperty

 Int
 Byte

#### TypedData

As part of an element in an ArrayProperty or "standalone" as the payload of a StructProperty, several custom types can occur. Note that the actual type is stated beforehand as a String, with a gap of 17 bytes to this structure. By default, the TypedData is just a PropertyList (see above), but there are some special structures:

## Trivia

* Creative Mode can be enabled by editing a save file, with third-party tools providing a GUI interface for doing so.[*citation nécessaire*]Fichiers de sauvegarde/doc 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.