ContentLib Documentation

These docs are a continual work in progress.

If you have any suggestions, or are willing to contribute, please open a Pull Request or contact me (Robb) on the Nog’s Mods discord server.

Welcome to the ContentLib documentation!

You can find the source code for the mod here.

For further support, please join the Nog’s Mods discord server.

ContentLib Capabilities

ContentLib makes it easier to do a lot of things, but it will never be a replacement for the full Satisfactory modding suite.

ContentLib can…​ ContentLib CAN’T…​
  • βœ”οΈ Create new items, recipes, and schematics (ex. HUB Milestones)

  • βœ”οΈ Modify properties of existing items, recipes, and schematics

  • βœ”οΈ Change or add new icons for items and schematics

  • βœ”οΈ Modify some properties of machines, equipment, creatures, etc.

  • βœ”οΈ Modify some data assets created by other mods

  • βœ”οΈ Hot reload some content without restarting the game (WIP)

  • βœ”οΈ Be extended by other mods to dynamically generate content

  • βœ”οΈ Enable writing mods that need few, if any, updates (ContentLib JSON structure is consistent across updates)

  • ❌ Add new meshes (3D models)

  • ❌ Create new buildings

  • ❌ Change the internal logic of machines

  • ❌ Conditionally apply your changes (they always apply unless content is missing)

  • ❌ Implement new game mechanics

  • ❌ Create road-connected MAM trees

To learn more about the full modding toolkit, which does not have these limitations, see the Satisfactory Modding Documentation.

For Users

If you’d like to make a couple recipe or item tweaks, these pages may be of use to you.

For Developers

You can use ContentLib to define the Items, Recipes, and Schematics for your own mods!

Not only is it a lot faster to write items this way, and faster to iterate, it also makes it easy for end users to configure recipes to their own balance preferences.

Additionally, the data-driven nature of ContentLib can help you quickly create Recipes or Items if you want to automatically generate them from another source.

If you’d like to package your own ContentLib scripts for distribution as a mod on Satisfactory Mod Repository, these pages may be of use to you.

For Advanced Developers

If you’d like the use ContentLib’s blueprint and C++ APIs, these pages may be of use to you.

The data-driven nature of ContentLib can help you quickly create Recipes or Items if you want to automatically generate them from another source. For example, Aquilla uses ContentLib to allow users to make their own recipes in-game.

ContentLib also has some capabilities not accessible via JSON, and useful for creating mods of your own. These include:

  • Easily processing (and modifying) all loaded recipes or items in the game

  • Runtime content generation (ex. generate new recipes for every fluid in the game, like Aquilla does in the mod Free Fluids - CL)

  • Reverse lookup (ex. "What recipes can I use to make this item?")

  • Recipe power cost analysis

To use these features, you will need to set up a full modding project by following the Getting Started Guide and bring in the ContentLib, JsonStructs, and ContentInspector mods to your project.

Ask on the Discord for further help doing this, since these docs are still a work in progress.

  • You will need the source of ContentLib loaded in your editor. The git repo is the mod source folder.

  • You must also have source of the updated versions of the JsonStructs and ContentInspector mods, else packaging will fail

    • JsonStructs source can be found here

    • ContentInspector source can be found here

  • Blueprint Library

  • C++ Library

  • More coming soon.