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 might 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 Wwise tells you that you need to modify your installation in a yellow warning box, 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.

The below gif is slightly outdated - be sure to choose version 2021.1.0.7575. image

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 Development Editor from Visual Studio for the changes to take effect.

When you want to test or release your mod, make sure to build the project for Shipping. Without doing so, your mod will be missing important files.

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 ProjectsBrowse (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.