Schematics
|
You can find a JSON Schema for Schematics here. |
In Satisfactory, schematics are used to represent unlockables in the HUB (milestones), MAM (research nodes), AWESOME Shop (both one-time and repeatable purchases), and hard drive scans.
Requirements
-
All Schematic JSON files must start with the prefix
Schematic_. You may find it beneficial to add further detail in the prefix, such asSchematic_HUB_for HUB milestones andSchematic_Node_for MAM Nodes. -
Remember that custom Schematics need to go in the correct Folder.
-
The
Typefield determines where the schematic will be available for purchase. -
Note that custom MAM nodes require custom Research Trees to be established as well. ContentLib research tree support exists but is undocumented and has not been tested for a long time.
-
AWESOME Shop Schematics without Categories are invisible unless searched for (read more in 'Notable Features')
-
A base-game bug causes HUB Milestones without icons to display improperly, so if you’re creating a new HUB milestone, you should always give it an icon by specifying a VisualKit.
Notable Features
Be sure to check out the tooltips of fields in the schematic json schema to learn about what options are available.
To specify schematic icons, use Visual Kits.
Schematics auto-generate the categories used in the Category and SubCategories field for you if you specify one that doesn’t exist.
Auto-generated Category assets have their asset name (not the in-game name) start with Cat_ for consistency with the base game, and for identification purposes.
You can attempt to hot reload Schematics via the button on the Mod Configuration screen, or the /CLSchemReload chat command.
Hot reloading is an experimental feature and it may not work properly.
Due to a base-game bug/feature, schematics and items without assigned categories are usually not displayed in menus unless they are explicitly searched for. You can use this behavior to hide schematics from display.
Examples
Basic HUB Milestone
A HUB Milestone that unlocks the Packager recipe in Tier 1.
If you’ve created your own recipes you want it to unlock,
list them by their JSON file name in the Recipes property,
for example, Recipe_CustomBiofuel.
Schematic_SimpleMilestone.json
{
"$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/main/JsonSchemas/CL_Schematic.json",
"Name": "My Custom Milestone",
"Type": "Milestone",
"Tier": 1,
"VisualKit": "Desc_OreGold_C",
"MenuPriority": 42.0,
"Time": 60,
"Cost": [
{
"Item": "Desc_Leaves",
"Amount": 10
}
],
"Recipes": [
"Recipe_Packager_C"
]
}
RePan Oil HUB Milestone
Here is an example schematic from the RePan Oil mod. The visual kit it references is not included here for brevity.
Schematic_RePanAcid.json
{
"$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/main/JsonSchemas/CL_Schematic.json",
"Name": "RePan Acid Process",
"Type": "Milestone",
"Tier": 8,
"VisualKit": "Kit_Aciding",
"Category": "RePan-Oil",
"Cost": [
{
"Item": "Desc_AluminumPlate",
"Amount": 100
},
{
"Item": "Desc_PackagedNitrogenGas",
"Amount": 100
},
{
"Item": "Desc_PackagedSulfuricAcid",
"Amount": 100
}
],
"Recipes": [ "Recipe_CatalyticNitricAcid", "Recipe_PickledSteelIngots", "Recipe_PickledSteelBeam", "Recipe_BlowMoldedTank", "Recipe_EtchedBoards", "Recipe_ReprocessedUranium", "Recipe_UREXCells" ]
}
Schematics Unlocking Other Schematics
Here is an example from BlueBeka that uses the Schematic Unlock feature to hide the water unpackaging recipe from the user-visible milestone. It consists of 2 separate schematics.
Notice that the schematics' file names are numbered to ensure the hidden one is processed before the visible one to avoid this bug.
Visual Kit (Kit_FluidPackaging.json):
The Visual Kit used by the visible schematic.
{
"$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/main/JsonSchemas/CL_VisualKit.json",
"BigIcon": "/Game/FactoryGame/Buildable/Factory/TradingPost/UI/SchematicIcons/TXUI_SIcon_ProductionPackager.TXUI_SIcon_ProductionPackager",
"SmallIcon": "/Game/FactoryGame/Buildable/Factory/TradingPost/UI/SchematicIcons/TXUI_SIcon_ProductionPackager.TXUI_SIcon_ProductionPackager"
}
Hidden Schematic (1Schematic_HUB_EarlyFluidPackaging_Extra.json):
The hidden unlock is of type Custom, meaning it is not displayed to the player anywhere.
{
"$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/main/JsonSchemas/CL_Schematic.json",
"Name": "Fluid Packaging (Hidden)",
"Type": "Custom",
"Recipes": ["Recipe_UnpackageWater_C"]
}
HUB Milestone (2Schematic_HUB_EarlyFluidPackaging.json):
{
"$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/main/JsonSchemas/CL_Schematic.json",
"Name": "Fluid Packaging",
"VisualKit": "Kit_FluidPackaging",
"Type": "Milestone",
"Tier": 2,
"MenuPriority": 3,
"Time": 300,
"Cost": [
{
"Item": "Desc_IronPlateReinforced_C",
"Amount": 100
},
{
"Item": "Desc_Rotor_C",
"Amount": 50
},
{
"Item": "Desc_CopperSheet_C",
"Amount": 100
}
],
"Recipes": [
"Recipe_Packager_C",
"Recipe_Alternate_CoatedIronCanister_C",
"Recipe_PackagedWater_C"
],
"Schematics": ["1Schematic_HUB_EarlyFluidPackaging_Extra"]
}