Skip to content
k-mods.com

Adding new Ore to Modular Miner

How to add new Ore DataAssets to the Modular Miner in Satisfactory Plus through KAPI. To allow them in SF+ gameplay.

Register a raw-resource entry for the modular miner as a KAPIModularMinerDescription instance with a type: dataasset document instead of creating it in the Unreal Editor. See the full property reference for every field.

The example below mirrors a real shipped Cryolite raw-ore entry:

modular-miner-cryolite.dataasset.yml
type: dataasset
conditions: { hasMod: KAPI }
assets:
- id: MM_Cryolite
class: /Script/KAPI.KAPIModularMinerDescription
properties:
- path: mIsFallbackDescriptor
value: false
- path: mNeededModules
value:
- /KAPI/Attachments/ModularMiner/Attachment_MM_MiningHead.Attachment_MM_MiningHead_C
- path: mPreventModules
value:
- /KLib/Assets/Buildings/ModularExtractor/Modules/Smelter/Build_SmelterModule.Build_SmelterModule_C
- path: mResourceClass
value: /Game/FactoryGame/Resource/RawResources/RawQuartz/Desc_RawQuartz.Desc_RawQuartz_C
- path: mDrillTier
value: 1

mFluidInfo and mModuleInformation are optional TMap fields (keyed by an item class and a waste-producer module class respectively) for entries that feed fluid or waste-producer modules — see the property reference for their map-key/value shapes. A resource entry that doesn’t use either module type, like this one, works fine without them. mScannerTier is unused and left out entirely.

mNeededModules is what makes a module mandatory, and it is checked at runtime by AKLMMBuildableMiner::HasAllNeededModules — the miner will not produce until every listed attachment is installed. The mining head above is listed for every ore, so it is the one entry that does not gate anything.

Adding the fluid attachment turns the ore into a fluid-gated one:

- path: mNeededModules
value:
- /KAPI/Attachments/ModularMiner/Attachment_MM_MiningHead.Attachment_MM_MiningHead_C
- /KAPI/Attachments/ModularMiner/Attachment_MM_FluidModule.Attachment_MM_FluidModule_C

Listing fluids in mFluidInfo on its own does not do this — those fluids stay optional speed boosts, the way Coal accepts water. Only the mNeededModules entry makes the fluid module required, and it also removes the ore’s plain “extract <ore>” entry from the wiki export, leaving only the per-fluid recipes.

See Adding KAPI Data Assets for every KAPI type’s type: dataasset example in one place.