Hello there! We are conducting a survey to better understand the user experience in making a first edit. If you have ever made an edit on Gamepedia, please fill out the survey. Thank you!

Save files

From Satisfactory Wiki
Jump to: navigation, search

Save File Location[edit | edit source]

As of Patch 0.102, the save file is located here:

%appdata%\..\Local\FactoryGame\Saved\SaveGames\

Experimental Patch 0.1.5 lists this location as the following, but they resolve to the same location in default windows installations:

%localappdata%\FactoryGame\Saved\SaveGames\


Photo mode[edit | edit source]

Pressing P will bring up the photo mode, which removes the HUD elements, allows changing the field of view, and toggling of a Hi-Res mode.

Screenshots can be found in AppData\Local\FactoryGame\Saved\Screenshots\WindowsNoEditor or Documents\My Games\FactoryGame\Screenshots.

Save File Format[edit | edit source]

This page is a work in progress.

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

If the length is specified as πŸ‘… that means it is the length of previous Int32. A description of πŸ‘‡ means 'see below.'

For example, the below table states, "The string that represents the world type is prefaced by an Int32 (4 bytes long). The length of the string is the value stored in the Int32."

Length (in bytes) Type Description
0x4 Int32 πŸ‘‡
πŸ‘… String World type

Multiple times throughout the file you will see templates like {1} used, that 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.

General Save Structure[edit | edit source]

Length (in bytes) Type Description
0x4 Int32 Save Header Version
0x4 Int32 Save Version
0x4 Int32 Build Version
0x4 Int32 πŸ‘‡
πŸ‘… String World type
0x4 Int32 πŸ‘‡
πŸ‘… String World properties
0x4 Int32 πŸ‘‡
πŸ‘… String Session Name
0x4 Int32 Play Time (seconds)
0x8 Int64 Save Date (Number of Ticks, See Microsoft Docs for details)
0x1 Byte Session Visibility
0x4 Int32 World Object Count {1}
{1} * N Array
Length (in bytes) Type Description
0x4 Int32 World Object Type
N - 0x4 World Object Data (Look Below)
0x4 Int32 World Object Property Count {2}
{2} * N Array
Length (in bytes) Type Description
N World Object Property Data (Look Below)

World Object Data[edit | edit source]

Length (in bytes) Type Description
0x4 Int32 πŸ‘‡
πŸ‘… String Name
0x4 Int32 πŸ‘‡
πŸ‘… String Property Type
0x4 Int32 Value Length
0x4 Int32 Index (if object has multiple of the same key)
πŸ‘…πŸ‘… πŸ‘…πŸ‘…πŸ‘… Data of the property

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

Property[edit | edit source]

Length (in bytes) Type Description
0x4 Int32 πŸ‘‡
πŸ‘… String Name
0x4 Int32 πŸ‘‡
πŸ‘… String Property Type
0x4 Int32 Value Length
0x4 Int32 Index (if object has multiple of the same key)
πŸ‘…πŸ‘… πŸ‘…πŸ‘…πŸ‘… Data of the property

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

ObjectProperty[edit | edit source]

Length (in bytes) Type Description
0x4 Int32 πŸ‘‡
πŸ‘… String Name
0x4 Int32 πŸ‘‡
πŸ‘… String Property Type (ObjectProperty)
0x4 Int32 Value Length
0x4 Int32 Index (if object has multiple of the same key)
0x4 Int32 Quantity
πŸ‘… πŸ‘… Data of the property

ArrayProperty[edit | edit source]

Length (in bytes) Type Description
0x4 Int32 πŸ‘‡
πŸ‘… String Name
0x4 Int32 πŸ‘‡
πŸ‘… String Property Type (ArrayProperty)
0x4 Int32 Value Length
0x4 Int32 Index (if object has multiple of the same key)
0x4 Int32 πŸ‘‡
πŸ‘… String Element Property Type
0x4 Int32 Number of Elements
πŸ‘… πŸ‘… Array of Elements

StructProperty[edit | edit source]

Length (in bytes) Type Description
0x4 Int32 πŸ‘‡
πŸ‘… String Name
0x4 Int32 πŸ‘‡
πŸ‘… String Property Type (StructProperty)
0x4 Int32 Value Length
0x4 Int32 Index (if object has multiple of the same key)
0x4 Int32 πŸ‘‡
πŸ‘… String Structure (Class) Type
N * ??? Array?
Length (in bytes) Type Description
0x4 Int32 πŸ‘‡
πŸ‘… String Key Name
0x4 Int32 πŸ‘‡
πŸ‘… String Value Type
Dynamic πŸ‘… Value

MapProperty[edit | edit source]

Length (in bytes) Type Description
0x4 Int32 πŸ‘‡
πŸ‘… String Name
0x4 Int32 πŸ‘‡
πŸ‘… String Property Type (MapProperty)
0x4 Int32 Value Length
0x4 Int32 Index (if object has multiple of the same key)
0x4 Int32 πŸ‘‡
πŸ‘… String Key Property Type?
0x4 Int32 πŸ‘‡
πŸ‘… String Value Property Type?
0x9 ??? ???
N * ??? Array?
Length (in bytes) Type Description
??? Key
??? Value