Project-Setup

A key aspect of fast and efficient development is a proper Workspace and project setup. With a misconfigured or unoptimal 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. Do note that the video guide may be out of date compared to the steps listed here.

Starter Project

You should have already downloaded the starter project in the previous steps of the tutorial. Unzip SML-Shipping-Dev-Win64.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 directory as short as possible, when packing some filenames can get long so a very nested location may cause issues.

You may want to consider using version control software such as Git to manage your mod’s files, but that is outside the scope of this tutorial. Rename the folder to the name of your mod, or something like ExampleMod, so you can tell it apart from any other mods you make.

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. 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 will 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 2019.1.7.7135 (you might need to change the left dropdown to All to do this).

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.

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

You’ll want to compile the project now to ensure it generates correctly and that it includes your custom module (if you wrote one).

Do this by opening the .sln file, make sure you have in the toolbar Development Editor and Win64 selected. On the right side in solution explorer just r-click the FactoryGame project and hit Build. This will take some time; go pet some lizard doggos as you wait.

This creates the binaries used by the Editor, allowing it to interact with the native SML code or native code written by you.

Make sure to build the project for Shipping when you want to test the mod. Without doing so, the editor binaries won’t be able to dynamic link with their dependencies, and the game will crash.

Open Unreal Editor

The 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 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.

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.

You might see a popup that says 'New plugins are available.' You can safely dismiss this popup.

To get started, you should create a new folder within Unreal Engine via the Content Browser pane, and call it your mod name. It will end up in /Content/<your mod name>.

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 select your root Satisfactory game installation folder. It will be something like C:\Program Files\EpicGames\SatisfactoryEarlyAccess\ Check Start Game if you’d like the game to be launched after you pack your mod files. Check Copy Mods to Game so that you don’t have to move files manually to test your mod. Finally, add your mod within the Mods section and fill out the Name field with the name of folder you created earlier with your mod name. This will tell Alpakit to pak everything in the content folder under the path /Content/<your mod name> You shouldn’t need to configure any Overwrite Paths for now.

Alpakit automatically copies the .sig files and the .pak files to your SF installation, in addition to cooking and paking the files as needed.

Enable SML Developer Mode

You’ll need to change one of the SML config settings to make SML load with your mod while you’re developing it. Go to your Satisfactory install folder and edit SML.cfg within the configs folder. Set developmentMode to true, then save and close the file.

That should be it. Your mod project should now be set up and ready to go.