A key aspect of fast and efficient development is a proper Workspace and project setup. With a misconfigured or suboptimal setup, you’ll lose valuable time. That’s why we will guide you now through making a good project setup for Satisfactory.
Are you a returning Satisfactory modder who already has a past modding environment set up? Make sure to follow the Updating your Mod guide before following these directions.
You should either be preparing to clone the Starter Project, or you downloaded a zip of it in the previous steps of the tutorial.
The Starter Project folder will be your modding workspace, and could grow to a considerable file size depending on what kinds of mods you make. As such, you should extract the folder somewhere convenient so that you can find it later.
DO NOT put the project in any of the following locations:
❌ Downloads folder
Windows sometimes automatically cleans up this folder depending on your system settings, deleting your files.
❌ Cloud-synced folder
Cloud sync services like Dropbox, Google Drive, and OneDrive can corrupt your project files.
❌ Documents folder
Some cloud sync services will automatically sync your Documents folder without telling you about it.
❌ Nested within many folders
When packing Unreal projects, some filenames can get long, so a deeply nested location may cause bizarre issues because Windows handles long paths poorly.
❌ In a folder path with unusual/international characters in any folder name
Unreal and Windows are easily be confused by unicode characters in file and folder names.
DO consider putting your project folder in one of these locations:
✔️ Near the root of your drive (for example,
This avoids long path issues and avoids including your computer user’s name in files distributed with your mod.
✔️ On your SSD
Most modding operations will run significantly faster if you keep the project on an SSD, assuming you have one.
✔️ On a secondary drive
This will help keep your primary drive from filling up with modding files.
You can use this Starter Project for developing multiple mods at once, since each mod will be its own separate plugin folder within the project.
Feel free to rename the Starter Project folder to whatever you like.
Depending on if you plan to clone the project or downloaded the zip, go to the relevant heading immediately below.
Make sure to read the notes in the above Starter Project heading about where to clone the files.
The below box will contain directions on which branch to clone. It’s imperative that you download the correct Starter Project version of the game you’re modding or you will have to repeat some of the setup process again.
This is the latest version of the docs.
If you want to develop mods for Update 8,
you should clone either the
which will have the latest changes and fixes,
master branch .
Of those two, you probably want whichever branch was pushed to most recently, which you can see on the GitHub repository.
If you’re still uncertain which to download, ask us on the Discord.
Here is a link to the repository to clone.
Again, make sure to clone the correct branch - it will probably start you on the
master branch by default
and you may have to switch branches to the correct one.
The directory is ready for use as soon as the clone is complete. Move on to the next heading.
By default, Windows marks files downloaded from the internet as "blocked". You will run into problems later on because of this. To get around this issues, right-click the zip and "unblock" it before unzipping it.
Make sure to read the notes in the above Starter Project heading about where to unzip the files.
If you downloaded the Starter Project as a zip,
SatisfactoryModLoader-master.zip (or the
-dev.zip) to get the Starter Project files.
If you’re encountering issues extracting the zip,
try using another zip extracting software
such as 7zip
You should strongly consider using version control software, such as Git, to manage your mod’s files. If you’d like to do this, you can learn more about that process here. As mentioned earlier, you probably want to clone the Starter Project repo instead of downloading a zip file of it.
Wwise is an audio and sound system used by Satisfactory, and setting it up is required to get your modding environment working. Setting up Wwise can be confusing, but we’ll walk through the steps here. Be sure to follow only the steps listed here - Wwise will often present you with lots of additional messages that looks like errors or warnings but can be safely ignored.
If part of the setup process fails for you, it is most likely this step. If you have errors completing the setup process, come back to here and make sure you followed these steps correctly.
Start the Wwise launcher that you installed earlier and update the launcher if prompted.
Make sure you have signed in to the launcher.
It can give ambiguous error messages when trying to integrate Wwise if you aren’t signed in.
Next, open the
Unreal Engine tab in the sidebar.
Do not click any of the update buttons on the Unreal Engine Wwise tab.
Satisfactory requires a specific version of Wwise to work,
and updating can prevent your mod from working correctly.
Click on the
Open Other button next to the "RECENT UNREAL ENGINE PROJECTS" header
and select the
FactoryGame.uproject file contained in your Starter Project folder.
Your project should now appear in the Wwise launcher.
Click on the
Integrate Wwise into Project… button.
Change the left hand drop-down to
Then select the same version you installed earlier (likely
The version number may have additional numbers on the end of it e.g.
2022.1.5.8242.1234 but as long as it starts with
2022.1.5.8242 it should work.
2022.1.5.8242 does not appear even after you have selected
.uproject file in a text editor to be sure that
is set to
If this version still doesn’t show up, try any other version starting with
If you missed a required component as part of the Wwise installation, it may show a yellow warning box indicating what’s missing as well as a button to "Modify" the installation. Go ahead and follow what it says for this step only. If Wwise warns you that it could not find an installation in a red warning box, that means you have not selected the correct version as stated above. If you see a blue box offering both "Modify" and "Add Plug-in", that means it’s configured correctly, so continue to the next step.
Under "Wwise Project Path", click the little triangle dropdown on the right
New project to clear the path.
If everything worked according to plan,
you should now be able to click on the blue
Do so, and agree to the terms to start the process.
That’s it! If Wwise shows "Operation completed successfully," you have integrated Wwise into your project. You can close the Wwise launcher.
Note: the below gif may select a version that does not match what is written above. Please use the version mentioned in the text above.
If you encounter a checksum error during Wwise integration, installing another Wwise version similar in version number should fix the problem.
Next, you’ll need to generate the remaining files for the project with Unreal Engine’s "Generate Visual Studio Project Files" tool.
Right-click on the
.uproject file in your Starter Project folder and select
Generate Visual Studio project files.
If this option appears for you and runs without error, skip down to the next section.
If this option errors, check out the Troubleshooting section below.
Otherwise, you’ll need to run a tool from the command line to generate the project files.
The command will follow the form below:
"<path to your Unreal build batch file here (it was installed with the custom Editor)>" -projectfiles -project="<path to your .uproject file here>" -game -rocket -progress
Here is an example of a completed command:
"C:\Program Files\Unreal Engine - CSS\Engine\Build\BatchFiles\Build.bat" -projectfiles -project="D:\Git\SatisfactoryModLoader\FactoryGame.uproject" -game -rocket -progress
The above command will not work if you copy paste it - you’ll need to modify it yourself to point towards your project file and Unreal Engine install.
Make sure you run the above command from Command Prompt and not Powershell. It is not correctly formatted for Powershell.
If you are prompted to choose an engine version when generating project files, or the generation command fails, it’s possible that you have a corrupted engine install left behind from previous modding or Unreal Engine endeavors.
The correct engine version should appear in the picker as
5.2.1-CSS and should not be considered a binary build.
To remove the listing for the corrupted engine install,
use the Windows registry editor
to edit the registry key
HKEY_CURRENT_USER\SOFTWARE\Epic Games\Unreal Engine\Builds
and remove the key pointing to your "Unreal Engine - CSS" install location.
You can add the correct items to this registry key by either reinstalling the engine
or running the
SetupScripts\Register.bat script in the engine’s install folder.
Next up is compiling the project from Visual Studio. It is possible for Unreal to compile the project as well on launch, but if there are any errors, Unreal will give a very vague report as to what went wrong and you’ll have to rebuild from Visual Studio anyways to get more details. As such, it’s best just to always compile from Visual Studio so you don’t have to build a second time to see the error report.
If you have multiple computers available on your network, you can optionally use Incredibuild to speed up the compilation process. More info here.
Open up the
FactoryGame.sln file in your project folder.
Visual Studio may tell you "Based on your solution, you might need to install extra components for a full development experience" at the top of the Solution Explorer window. It is safe to ignore this message. Alternatively, you can install the requested components to keep Visual Studio from complaining about this at the cost of additional disk space.
Once Visual Studio loads,
you should see a list in the Solution Explorer containing entries for
UE5, FactoryGame, AccessTransformers, and more.
It’s important to note that these separate solution items exist only for organization purposes.
When it’s time to compile your mods, compiling any one of the items will compile the whole project.
The only exception to this is the
UE5 entry which will do nothing when you compile it since you already installed that by installing the custom engine version earlier.
An unfortunate consequence of this organization system is that Visual Studio does not understand that each of these solution items will compile the whole project.
As such, we do NOT want to use the generic 'Build Solution' operation that Visual Stuido provides. Doing so will try to run the build one time for each solution item we have in the project, wasting some time, and, if there are any error messages, duplicating them many times over!
In preparation for compiling our project, first select the
Development Editor Solution Configuration
Win64 Solution Platform in the top toolbar.
Development Editor is the editor program that you’ll be using to make mods.
It’s near the undo/redo buttons and the play button menu items.
To start the actual compile process,
right click on any of the solution explorer items under the Mods folder,
This will take some time; go pet some lizard doggos as you wait. See below if you run into any issues. You’ll know it’s done when the little box-with-cubes-piling-into-it icon in the colored bar at the bottom of Visual Studio goes away. You can monitor its progress from the Output pane (View > Output) if desired.
After it completes, you should select the
Shipping Solution Configuration from the top toolbar
(the same place you selected
Development Editor earlier)
and start another build.
Building both of these is required for the editor to function correctly
and for you to be able to distribute your mod.
Now that you’ve built the binaries, your Unreal Editor should open without any issues.
Some important notes for the future:
After updates to SML that change the Editor,
or your own C++ code that changes Editor functionality,
you must close the Editor and rebuild
Alpakit (a tool discussed later) will take care of building Shipping for you when required, but you can still build it from Visual Studio if you want to.
Almost all warnings, and occasionally some errors, reported by the editor can be safely ignored during the build process. This section will help you decide how to proceed if you encounter errors while building.
This is not actually an error message, just a message that is informing you that the build task has failed. Keep reading the Error List to see what actually went wrong. Sometimes the real error does not show up until the build has finished. You may also have to check the Output > (Show output from: Build) tab instead of the Error List to see the actual error message(s).
Your computer ran out of RAM while trying to compile the project. This is a common issue even on computers with 32GB of RAM. Thankfully the completed build progress persists between attempts at building, so just keep re-running the build task and it will slowly make progress. Close other stuff on your computer that is using RAM if possible, such as web browsers and games. Restarting your computer and then trying the build again may also help.
If the project still continues to fail to build with this reason after many attempts, contact us on the Discord for further troubleshooting. Your computer may unfortunately not have enough ram to compile the project.
If you see errors related to
AkAudio or similar,
you need to go back and re-do the Wwise integration step.
Make sure that your project folder is not stored in a folder path that contains unicode characters. Review the directions in the Starter Project section.
The Unreal Editor allows you to create new content for the game and helps build your mod. It also heavily relies on the C++ project, so make sure you don’t change stuff in there unless you know what you’re doing.
Depending on how your copy of Unreal Engine installed,
you may be able to double-click the
FactoryGame.uproject file in the Starter Project folder to open the editor,
which will directly open your project.
If that doesn’t work, you’ll have to open the Unreal Editor separately, then browse to your project.
You can find it by searching for it in the Windows search bar
(it should appear as
Unreal Engine - CSS)
or by navigating to where you installed it,
which is probably something similar to
C:\Program Files\Unreal Engine - CSS\Engine\Binaries\Win64\UnrealEditor.exe
Once the welcome panel has opened, click "Recent Projects",
then "Browse" and select the file
FactoryGame.uproject in your starter project folder.
Opening the project for the first time can take a considerable amount of time as it compiles shaders.
You might be told that some modules were
"missing or built with a missing engine version"; press
Yes and allow it to build.
This will take some time, and will drastically increase the size of your project folder
- go find some more lizard doggos to pet.
If this step fails, you should go back to compile the editor from Visual Studio to find out why it’s erroring and return here when finished with that step. Consider seeking help on the Discord if you are stuck here.
Once you load into the Editor, you might see a popup that says 'New plugins are available.' You can safely dismiss this popup.
Now is a good time to familiarize yourself with the Unreal Engine editor through various other tutorials. We suggest you take the 'Welcome to the Unreal Editor' guided tutorial that the editor should be telling you about if you haven’t taken or dismissed it yet.
We also suggest the following resources:
Unreal Editor Interface - Provides a high-level overview of what each of the editor panels do.
Content Browser - How to access the Content Browser, including adding multiple Content Browser panels to your viewport.
Content Browser Interface - How to use the various features offered by the Content Browser.
Alpakit is a tool made by the modding community to make building and testing your mod more convenient. It’s one of the editor plugins that comes pre-installed with the starter project.
Click on the Alpakit button in the Tool-Bar of the Unreal viewport to open its panel.
It looks like an alpaca peeking out of a cardboard box.
You can also bring it up via
File > Alpakit.
You can open the alpakit-specific log window by clicking the three-dots button next the icon and selecting "Alpakit Log". This information is also present in the UE Output Log, albeit mixed with other editor messages.
Both the Alpakit window and log window can be dragged by their top tabs and docked as new tabs or panes in the editor for easy access later.
If you’re wondering what something in the Alpakit window does, hover over it - most elements have expanatory tooltips.
Once you’ve opened the Alpakit window, head over to the Dev Packaging Settings heading. For now, the only target we need to modify is Windows (the game client), but you can use the other options later to build for dedicated servers.
In order to get started building mods, you’ll have to tell Alpakit where your game install directory is located so it can copy mod files there for you.
In the Windows subheading,
check the Enabled box to enable packaging for that target,
check the 'Copy to Game Path' box,
then click on the 3 dots near
Satisfactory Game Path
and select your root Satisfactory game installation folder.
It will be something like
Follow the directions
on the FAQ
to easily determine this location.
Choose an item from
Launch Game After Packing that corresponds to the game install path you provided,
or leave it unchecked if you don’t want the game automatically started for you.
Find out more about how to launch the game quickly for testing on the Testing/Multiplayer Testing page.
Right now you should see two items in a searchable list -
Example Mod (ExampleMod) and
Satisfactory Mod Loader (SML).
This is the list of all mods present in your project.
They are listed first by friendly name and then by
Once you have created a mod, it will appear in the list automatically.
In order to package a single mod for testing press the "Alpakit!" button next to its name in the list. Alpakit will compile and package your mod for you, then take actions based off of the options you selected in the Dev Packaging Settings.
If you want to package multiple mods at a time, check the boxes to the left of their Alpakit! buttons and use the "Alpakit Dev" button. This will first package all mods, If you selected a Launch Game After Packing option it will wait for all tasks to complete before launching.
Upon starting an Alpakit task, a popup will appear informing you that the mod is being packaged and the Alpakit Log window will reflect the packaging results.
The Alpakit Release and Release Targets fields can be safely ignored for now as they will be explained later in the guide.
Alpakit will automatically install the mods it packages for you when you have the 'Copy to Game Path' option enabled. The Satisfactory Mod Manager will try to avoid interferring with mods that you have packaged with Alpakit and will not "see" that you have them installed in its own mods list.
Note that if you have not yet installed the Satisfactory Mod Loader (SML) in your game files,
you can use Alpakit to build SML for you and put it in the right folder.
This could cause problems if your copy of the Starter Project
is not up to date with the latest SML changes,
in which case you should either
update your Starter Project
or use the Mod Manager’s
development profile to install SML for you instead.
The Unreal Engine 5 editor is very dark by default. It may be difficult to read depending on your computer settings and eye health. This video shows how to change the editor’s color scheme and provides an alterative grey theme you can use out of the box.
That should be it. Your starter project should now be set up and ready to go! In the next section, we’ll walk through creating the base Plugin for your mod, then run through a couple common modding examples to demonstrate how to get started making your own mods.
The Starter Project also includes and ExampleMod that you can look at, which includes examples like those described in this documentation, as well as a few things that don’t have docs pages yet. It also has some examples of C++ mod functionality. Consider looking around in there after completing some of these tutorials.