ContentInspector

You can use the mod ContentInspector to quickly analyze if your ContentLib scripts are loading correctly, or to examine the properties of used by base-game or mod assets.

See the mod page linked above for more info.

Although the mod shares the ContentLib naming format, it does not actually require ContentLib to function.

ContentInspector allows you to browse for and visualize Unreal Assets packaged inside the .pak/.utoc files of the game and of mods, as well as content created by scripts that do not have any on-disk equivalent. Files are presented in a hierarchical folder tree view, and content is presented in a JSON format, or in widgets with limited multimedia preview support.

If the content is an Unreal actor, you can see instances of actors in the world and view the runtime values they have assigned to their properties.

Note that this content is not actually stored in a JSON format, unlike the content you define with ContentLib scripts. ContentInspector simply renders the content as JSON (or as a widget tree) to make it easier to understand, view, and export.

Fields prefixed with JS_ are created by JsonStructs (ContentInspector dependency mod) and contain metadata about the field being inspected. They are not necessarily 'real' fields on the asset your are inspecting. They may have been generated by parsing extra objects.

Examples

Locate and Inspect the 'Smart Plating' Recipe

  1. Install ContentInspector via Satisfactory Mod Manager

  2. Launch the game

  3. Go to the 'Mods' menu tab

  4. Open the tab for ContentInspector and scroll down to find its widget

  5. Select 'Pak' in the sidebar because we are looking for a file packaged inside of a mod/base-game

  6. Determine where the Smart Plating recipe likely is. Depending on what asset you are trying to find, the location will change. Base game recipes are almost exclusively in /Game/FactoryGame/Recipes/, but things like equipment and ammo recipes are elsewhere. You might have to look around for a bit. Mod recipes will be in their own plugin folder /ModReferenceHere/, but after that, their location depends on how the mod dev organized it. In our case, there’s conveniently a folder called SpaceElevatorParts, but they’re all numbered 1-9 and not named. We can either look at each one to try and figure it out, or we can…​

  7. Check the Satisfactory Wiki (or use another asset finding approach) to find out the internal name of the item. This name will probably appear in the name of the recipe asset as well. At the very least, it will appear in the Products section of the recipe, since it’s what is being produced. According the Class name field in the wiki’s info box, it’s called Desc_SpaceElevatorPart_1 We got lucky, since Smart Plating is the first elevator part, but sometimes the names don’t line up like this.

  8. Open the Recipe_SpaceElevatorPart_1 asset with ContentInspector.

  9. Examine the fields. You may need to toggle the 'Use Widgets' option off to see the asset as JSON. If you’re looking for the asset path of this recipe (useful for Patches), you can get it by modifying the JS_LibOuter field value to remove the Default__ from the path listed there. We can find out about the purpose of each field from other documentation, such as this page.

It is not possible to copy-paste this JSON directly into ContentLib JSON file. Fields and values are specified differently, for example the aforementioned JS_ fields are not real fields, and ContentLib won’t know what to do with them.

You should read the other ContentLib documentation pages for the assets you’re looking to create.