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.

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.

Starter Project

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, such as a folder on a secondary storage drive.

It is unwise to keep it in your Downloads folder because Windows can automatically clean up that folder depending on your system settings.

It should also not be placed into any directory that could be managed by cloud sync services like Dropbox, Google Drive, or OneDrive, because they can corrupt your project files. You should also not place it in your Documents folder because those folders are sometimes connected to cloud sync services that you may not be aware of.

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.

Try to keep the file path to the folder as short as possible. When packing Unreal projects, some filenames can get long, so a deeply nested location may cause bizarre issues because Windows handles long paths poorly.

Depending on if you plan to clone the project or downloaded the zip, go to the relevant heading immediately below.

You’re Cloning the Starter Project

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 archived 3.5.1 version of the docs.

If you want to develop mods for a newer release, you should follow the latest docs branch.

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.

You Downloaded a Zip

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, unzip 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 or WinRAR.

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.

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 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 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 three-lines button next to the "RECENT UNREAL ENGINE PROJECTS" label and click Browse for project…​. Now 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 All. Then select the same version you installed earlier (likely 2022.1.3.8179). The version number may have additional numbers on the end of it e.g. 2022.1.3.8179.1234 but as long as it starts with 2022.1.3.8179 it should work.

If version 2022.1.3.8179 does not appear even after you have selected All, edit the .uproject file in a text editor to be sure that EngineAssociation is set to 5.1.1-CSS.

If this version still doesn’t show up, try any other version starting with 2022.1.3.

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

image

If you encounter a checksum error during Wwise integration, installing another Wwise version similar in version number should fix the problem.

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.

Right-click on the .uproject file in your Starter Project folder and select Generate Visual Studio project files. If this option appears for you, skip down to the next section.

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.

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 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, make sure that you have Development Editor Solution Configuration and Win64 Solution Platform selected in the top toolbar. It’s near the undo/redo buttons and the play button menu items.

Select Development Editor build target

Now, from the top toolbar, select Build > Build Solution.

Build Solution

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 log window 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 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|Win64.

Without doing so, your mod will be missing important files.

Troubleshooting

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.

The command …​ exited with code 6

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

Compiler is out of heap space

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.

AkAudio

If you see errors related to AkAudio or similar, you need to go back and re-do the Wwise integration step.

Something Else

If you run into a problem that isn’t described above, please ask for help on the Discord, even if you fix it yourself. We can update the docs with your findings to help other people that might have a similar issue!

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\UnrealEditor.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 starter project 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 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.

Setting up Alpakit

Alpakit is a tool made by the modding community to make building and testing your mod more convenient. It’s one of the mods 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.

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.

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 Mod Reference in parentheses. Once you have created a mod, it will appear in the list automatically.

(Optional) Packaging SML

Note that if you have not yet installed 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.

Ready to Rumble

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.