Create an Item

Now that you’ve created a custom recipe and schematic, you might want to create a custom Item. For this tutorial, we’ll make an item named 'Doc Item'.

Creating the BP-Class

The item system is a bit complex, but to summarize it, we simply need to describe our item in a FGItemDescriptor class. To create it, go to the content browser in the Unreal editor. Go to the Mod-Root and create a new folder and call it "Items" to keep with our organization pattern so far. Then create a new BlueprintClass of type FGItemDescriptor in it. We will call it Desc_DocItem to follow Unreal’s naming convention ("Desc" stands for descriptor).

image

Describe the Item

Open the class and you should see the default settings of the classes' attributes. If not, just click on "Default Settings" and they should appear in the settings browser of the class editor. In here you will find multiple attributes with the different properties such an Item can have.

  • M Use Display Name and Description

    Because we have just a simple Item we need to check this (set the boolean to true) so that the item name and description are used directly of this class.

  • M Display Name

    The item’s name in game. We’ll set this to "Doc Item".

  • M Description

    Set this to a simple description of the item. In our case, we use the text "This is the starter Item of the SFM-Doc."

  • M Stack Size

    Satisfactory has hardcoded item stack sizes. Items can stack to either 1 (One), 50 (Small), 100 (Medium), 200 (Big), 500 (Huge), or 100,000 (Fluid). Go ahead and pick one as you see fit.

  • M Can be Discarded

    Self explanatory. We’ll uncheck it so that you can’t throw the item into the trashcan. Ficsit does not waste.

  • M Energy Value

    This value describes how much energy this item should release if it gets burned in a generator. Our Doc Item won’t be a fuel item, so it shouldn’t be able to get burned in any generator, so we’ll use 0.0 for that value.

  • M Radioactive Decay

    If set to a value greater than 0, the item will cause the player to take radiation damage. We’ll leave this at 0 for ease of testing our mod. Values should not be greater than 1.

  • M Conveyor Mesh

    As we know, an item is 3-Dimensional so we need a 3D-model for the item how it should look if it gets transported on a conveyor belt. We have an example model you can use here. Import this the same way you imported the category image in the Recipe vs Schematic tutorial. Make sure that you edit each of the materials that were imported with the model and mark both "Used with Spline Meshes" and "Used with Instanced Static Meshes" in the DetailsUsage pane for each material. If you don’t do this, the textures won’t appear correctly in the game.

  • M Item Category

    This groups the item into a category, we don’t need this so we leave it on "None", resulting in the item being categorized under "Other" ingame.

  • M Small Icon

    This is a simple texture image of the object used f.e. in the inventory to visualize what the given stack is. We have an image ready for use here. When using your own models, you can follow the tutorial here to generate icons that look like the ones in game.

  • M Big Icon

    This is the same as the small icon but can be higher resolution. Let’s just use the same icon file as before for simplicity.

Make the Item Available

The item is available to the user when it gets loaded at least once. Because Unreal loads assets with a just in time method, we somehow need to force the asset to be loaded. One way we can do that is by having our item used in a Recipe. Conveniently, we’re already planning to have the item be usable in a recipe so that the player can obtain it. Change the outcome of our already created recipe to this new item, or create a new recipe for it if you’d like to practice that. And you’re done! Go ahead and Alpakit and check out your fancy new item in game.