Project-Setup
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.
If you’d prefer a different format of guide, you can find a video guide here. As of SML 3.0.0, these tutorials are out of date, but some of the concepts will still carry over. If you get stuck in the video tutorials, return here and follow these guides instead. Be sure to read over the steps here as well to be sure you’re doing things correctly. |
Starter Project
You should have already downloaded the Starter Project in the previous steps of the tutorial. If you downloaded the Starter Project as a zip, unzip SatisfactoryModLoader-master.zip
to get the Starter Project files. If you’re having issues extracting the zip, try using another zip extracting software such as 7zip or WinRAR.
This will be the folder that all of your mod’s files will be put into, so extract the folder somewhere convenient for you where you can find it later, such as your Documents folder. Of note - keep the file path as short as possible. When packing Unreal projects, some filenames can get long, so a very nested location may cause issues.
You should strongly consider using version control software such as Git, to manage your mod’s files, but doing so is outside the scope of this tutorial. If you choose to do this, the plugin folder that you create later will serve as your repo folder. You may wish to clone the Starter Project repo as opposed to using the downloaded zip.
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 extracted SML-Shipping-Dev-Win64
folder to whatever you like.
Setting up Wwise
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 difficult, 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 needed.
Next, open the UNREAL ENGINE
tab in the upper tab-bar.
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.
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 three lines next to the "RECENT UNREAL ENGINE PROJECTS" label
and click Browse for project…
.
Now select the FactoryGame.uproject
file in your mod’s project folder.
Your project should now appear in the Wwise launcher.
Click on the Integrate Wwise into Project…
button.
You’ll have to again select version 2021.1.0.7575
(you will need to change the left dropdown to All
to do this).
If version 2021.1.0.7575
does not appear even after you have selected All
,
edit your .uproject
file in a text editor to be sure that EngineAssociation
is set to 4.25.3-CSS
.
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. If Wwise warns you that it could not find an installation in a red warning box, be sure that you have selected the correct version as stated above. If you see a blue box offering both "Modify" and "Add Plug-in", do nothing and continue to the next step.
Under "Wwise Project Path", click the little triangle dropdown on the right
and choose New
to clear the path.
If everything worked according to plan,
you should now be able to click on the blue Integrate
button.
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.
Generate Visual Studio Files
Next, you’ll need to generate the remaining files for the project with Unreal Engine’s "Generate Visual Studio Project Files" tool.
To do this, you’ll need to run a command, unless you already have another version of Unreal Engine installed. If you do, right-click on the .uproject
file and select Generate Visual Studio project files
. Go ahead and skip down to the next section if this works for you.
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 tool here (it installed with the custom Editor)>" -projectfiles -project="<path to your .uproject file here>" -game -rocket -progress
Here is an example of a complete command.
"C:\Program Files\Unreal Engine - CSS\Engine\Binaries\DotNET\UnrealBuildTool.exe" -projectfiles -project="C:\Users\Rob\Documents\SMLExampleMod\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. |
Project Compilation
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 is an error, Unreal will give a very vague report as to what went wrong. 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.
Open up the the .sln file in your project folder.
Once Visual Studio loads,
make sure that you have Development Editor
and Win64
selected in the top toolbar.
On the right side in Solution Explorer, right click on
the FactoryGame
project and hit Build
.
This will take some time; go pet some lizard doggos as you wait.
You’ll know it’s done when the little box-with-cubes-piling-into-it
icon in the blue bar at the bottom of Visual Studio goes away.
You can monitor its progress from the Output log window if desired.
After it completes, you should select Shipping
in the toolbar 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.
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 When you want to test or release your mod, make sure to build the project for |
If you see errors related to AkAudio
or similar, you need to go back
and re-do the Wwise integration step.
If you encounter issues during this step, consider asking for help on the Discord.
Now that you’ve built the binaries, you Editor should open without any issues.
Open Unreal Editor
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.
In order to open the project in Unreal Engine, you’ll have to open the Unreal Editor.
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\UE4Editor.exe
Once the Unreal Engine editor has launched,
open your project by navigating to
Projects
→ Browse
(bottom right corner)
and selecting the file FactoryGame.uproject
in your mod folder.
Opening the project for the first time can take a considerable amount of time.
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 mod 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.
Setting up Alpakit
Alpakit is a tool made by the modding community to make building and testing your mod more convenient. Click on the Alpakit button in the Tool-Bar of the Unreal viewport. It looks like an alpaca peeking out of a cardboard box.
Click on the 3 dots near Satisfactory Game Path
and select your root Satisfactory game installation folder.
It will be something like
C:\Program Files\EpicGames\SatisfactoryEarlyAccess\
Choose an item from Launch Game After Packing
if you’d like the game to be launched after you pack your mod files,
or leave it on 'Do not launch' if desired.
Check Copy Mods to Game
so that you don’t have to move files manually to test your mod.
Right now you should see three items in a searchable list -
Example Mod (ExampleMod)
, Satisfactory Mod Loader (SML)
,
and SML Editor (SMLEditor)
.
This is the list of all mods (and modding editor plugins) present in your project.
They are listed first by friendly name and then by
Mod Reference
in parentheses.
Once you have created a mod, it will appear in the list automatically.
You can press the 'Alpakit!' button next to a mod to have Alpakit pack the files for you.
Note that if you have not yet installed SML for 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 it for you.
Ready to Rumble
That should be it. Your mod project should now be set up and ready to go! In the next sections, we’ll run through a couple common modding examples to demonstrate how to get started making a mod.
The Starter Project also includes and ExampleMod that you can look at, which includes the examples described in this documentation, as well as a few things that don’t have pages yet. It also has some examples of C++ mod functionality. Consider looking around in there after completing some of these tutorials.