Satisfactory Game Feature Data System

This page is still a work in progress.

Introduced in 1.2, Satisfactory uses the Unreal Game Features and Modular Gameplay system to detect content present in mods and register it with base game systems.

Content Registration via Game Feature Data

Game Features serve a similar purpose to SML’s Mod Modules for content registration.

As long as the content type you’re trying to register is one of the supported types listed below, you should be able to use a Game Feature Data asset instead of an SML Mod Module for registering content, such as schematics.

Game Feature Actions

Multiple "Actions" exist that allow performing some kind of modification. This page will only document ones we know to be directly useful for modding.

Add Components

This Action is not working as of Satisfactory 1.2

This action allows specifying Unreal Components to be spawned with Actor classes, somewhat similar to using an Actor Mixin to attach a component to a class.

Add Cheats

Specify cheat managers from the mod to register with the engine cheat manager.

Add World Partition Content (Content Bundle)

Don’t use this one, use the non-content-bundle one instead.

Add World Partition Content (Non-Content Bundle)

This is the one that should be used instead of the Content Bundle one. At the time of writing, it does not appear properly in the editor without an editor setting adjustment. This functionality is not totally working yet.

Primary Asset Types to Scan

This list of rules tell the game where to find classes of certian types inside your mod to register them. Although any class can be specified, scanning for a class that the base game or a mod doesn’t already take action based on is not useful.

The following classes are known to be used by the base game once scanned:

  • FGSchematic

  • FGResearchTree

  • FGUserSetting

  • FGMessage

  • FGRemoteCallObject

  • FGIconLibrary

  • FGChildInputMappingContext

A scanning rule can check a mod content directory and its subdirectories, or operate on a specific list of assets, or the combined results of both.

When to Use Mod Modules Instead

The Game Feature content registration has some feature overlap with SML Mod Modules.

(TODO there are probably more reasons than this)

Use Game Features if…​

  • Your content should always be loaded when the mod is loaded

  • You’d like to register every asset of a type under a certain directory, for example, an entire directory tree of schematics

Use SML Mod Modules if…​

  • You already need a mod module to utilize other SML-specific features like mod subsystems or chat commands

  • You only want specific assets of a type to be registered, for example, only some of the schematics you have in a directory

  • Your content needs to be loaded conditionally (for example, based on a Session Setting or the presence of another mod)