Satisfactory Modding Documentation
Welcome to the Satisfactory Modding Documentation site!
Here you can find lots of information regarding modding Satisfactory, the factory-building sim by Coffee Stain Studios. Modding for Satisfactory is more established than you might think given how long the game has been out. There are already numerous mods released, and there are multiple methods by which you can develop new mods yourself.
In this page, we will provide some surface level information for both mod users and developers.
If you’d like to get started using mods, this section is for you.
The Satisfactory Mod Repository (SMR) is the most extensive collection of mods made for Satisfactory. It’s easy to upload a mod of your own or write a guide for other users. Uploaded content is tested for malware and such before it is approved for download. Visit ficsit.app to learn more.
The Satisfactory Mod Manager allows the end user to easily install mods, their dependencies, as well as the bootstrapper and mod loader. It connects to SMR allowing for a quick and easy installation process.
Check it out on GitHub!
For installing mods as end user we highly recommend using Satisfactory Mod Manager, as it makes using mods that much easier. However, if you really don’t want to use the launcher, directions for manual installation can be found here.
We highly recommend you to use the launcher for installing mods, as it simplifies the process significantly.
If you’d like to write a mod of your own, this section is for you.
The Satisfactory Mod Manager offers a convenient developer mode that automatically installs SML and the bootstrapper for you. To enable it, change
If you’re looking to write your own mods, we suggest you start with making pak mods first rather than C++ mods. Learn more in our Beginners Guide.
If you don’t have a .smod/.zip of the mod and the proper data.json file, you still can use them for testing and such.
Just place the .pak, .dll and .pdb files if you need them into the mods folder and start the game with the SML config setting
If you need to know how to enable
please refer to the SML Configuration Page.
If you’d like to learn more about how modding works internally, this is the section for you.
The Satisfactory Mod Bootstrapper is the holy heart of C Modding for Satisfactory. Due to technical limitations, custom built Unreal Engine C modules can’t get linked by the Windows dynamic linker into the game because the game is built monolithic. This also means that some functions are simply not built into the game. We rely on accessor functions to allow C mods to use these functions anyway. An example of one of these functions is `USceneComponent::SetVisibility`. In short, the bootstrapper uses third-party libraries to hook the Windows dynamic loader and to search in the by CSS provided .pdb for symbol references and returns them back to the dynamic loader. As a result, the dynamic loader is able to link the functions of the game to built C mods. We wont get into further detail as to how it works in this documentation. If you’re interested in more details, please reach out to us on the discord.
Satisfactory Mod Loader (SML) allows Satisfactory to load additional content and is essential in making most mods work. It also provides a framework for functionally many mods need but are not provided by CSS or UE4.
Things the Mod Loader does:
Starts the ModInit of pak mods
Unpacks and mounts .zip packaged mods
Manages mod dependencies
Provides a basic interface for pak mods to interact with some native code
Implements a Hooking system for C++ mods