Open Source Examples

It’s impossible for this documentation to cover every aspect of making Satisfactory mods. However, there are quite a few open-source mods you can download and check out the code of to learn how they accomplish certain behaviors or features.

This page contains a community-maintained list of open-source mods, as well as what Satisfactory and SML features they make use of, to help guide your learning.

Open source mods typically provide their source code in the "Source" section of the infobox on the mod repository.

You can set up these mods in your editor by following the Importing Other Mods to your Project guide.

Would you like to make your mod open source so others can learn from it as well? Get started by following the Creating a Mod Git Repo guide.

This page is a continual work in progress. Are you aware of an open-source mod to list here? Add it via the "Edit This Page" button in the top right corner and open a Pull Request to bring in your changes.

MAM Enhancer

Modifies the base game MAM, HUB, and AWESOME Shop UI to provide additional information to the player and improve the user experience.

Source Code: Linked on the Mod Page

Mod Type: Hybrid Blueprint/C++

Notable Techniques Used:

  • Widget Injection

    • Modify the base game’s interface to hide, change, and add new elements

  • Runtime asset generation

    • Used to generate the fake recipe entries for display in the Shopping List

  • In-game tutorial

    • An icon with a tooltip that encourages the player to see how to use the mod after installing it, then dismisses itself for later

Notable Satisfactory Features Used:

Notable Mod Loader Features Used:

  • Mod Configuration

    • Live preview of user’s selected config options

    • Binding events to the change of config options

    • Programatically modifying config values and saving the changes

  • Bind on BP Function

  • Widget Blueprint Hooks

  • Session Settings

Free Samples

Whenever you unlock a technology that grants you a recipe, receive a configurable amount of 'free samples' of that recipe. For equipment and component crafting recipes, this is the output product. For buildings, this is the ingredients for the building. Every player in multiplayer gets a copy of the free sample items.

Source Code: Linked on the Mod Page

Mod Type: Hybrid Blueprint/C++

Notable Techniques Used:

  • Programatically giving items to players

  • Compatibility with runtime-generated assets

    • Works properly with Recipes and Schematics that might not yet exist when the player loads the world

  • Per-player data storage (multiplayer compatibility)

  • Save/loading of soft class and soft object fields

  • Hybrid Blueprint/C++ subsystems

    • Subsystems' final implementations are in Blueprint, but they are backed by custom C++ parent classes to allow

  • Zero-dependency cross mod interaction

    • Mod is coded to inspect other mod’s assets for fields with a certain name, and then change behavior based on those fields values. Enables cross-mod interaction without either mod needing the other’s source code.

Notable Satisfactory Features Used:

  • None

Notable Mod Loader Features Used:

  • Mod Subsystems

    • Server-side only subsystems since adding inventory items requires authority

  • Simple Construction Script (SCS) Hooks

    • Used to implement per-player data storage

  • Chat Commands

  • Mod Configuration

    • Custom config widget to make entering data easier

    • Tracking if the user has modified the config from the defaults to know if future mod updates should automatically overwrite them with updated default data

    • Programatically modifying config values and saving the changes

Screw It

Meme mod, changes most things to be named and/or look like Screws.

Source Code: Linked on the Mod Page

Mod Type: Hybrid Blueprint/C++

Notable Techniques Used:

  • Using the Asset Registry to quickly discover subclasses (both vanilla and modded)

  • Asynchronous asset loading to avoid stalling the game while waiting for disk I/O

  • CDO edits in bulk (on the aforementioned loaded classes), implemented in C++

  • Hybrid Blueprint/C++ game instance module

    • Root instance’s final implementations is in Blueprint, but it is backed by a custom C++ parent class to be able to easily reference Blueprint-only assets

Notable Satisfactory Features Used:

  • None

Notable Mod Loader Features Used:

  • Access Transformers, to be able to change otherwise inaccessible member variables.