Space Engineers How to Make NPC in Game + Script

Space Engineers How to Make NPC in Game + Script 1 -
Space Engineers How to Make NPC in Game + Script 1 -

Creating a new NPC creature for Space Engineers.
How to make a unique non-player character and configure it for spawning in the game.


In order to begin here, you will need to be familiar with some character modelling basics. There are lots of good tutorials for modelling & rigging character and creatures as well as some free resources available to all.
For the purposes of this tutorial, you can use my rig and model available with source files here.
hyper link for MOD
Tutorial image

Creature with skeleton

Once you have your idea and model it has to have a skeleton. Keen models use CAT rigs which I find easy to work with but any rig will work as long as you can bake your animations with it.
I tend to use 3ds max for my creatures but you can use whatever software you are comfortable using as long as you can create an FBX file or have a plugin to produce a character type MWM file.
3ds rig image
A keep point is that vertexes must have associated weights or the model will fail to appear there will likely be no error just an invisible character.
Heat map image

5 basic animations

Bot behaviours are limited to a select number of animations each one has to be defined in with an Animation sbc file, the minimum animations required are
the extra ones for extra for spider behaviour bot
Burrow & deburrow
How to make an animation tutorial here: Soon ™
Choose a unique subtype or override an existing one


only used for emotes


Path to baked animation file


Areas of influence change to correspond with animation controller layer masking


Use false for charicter control true for emotes


set to match skeleton variable in character sbc to filter only available animations





Sounds for your creation

You can add additional life to your creations with sounds. Each sound to be defined in an audio sbc file. Space engineers need to use a particular file type and format follow the tutorial below for more info: Sound Tutorial By enenra – [] 
The sounds you can edit for a bot are

  • Motion/footsteps
  • Attack
  • Death
  • Pain

Each sound effect subtype is linked to the character within the character sbc file by using these lines and adding the subtype of your own sounds


The attack sound is separate in the bot sbc



Character SBC

This sbc file is the main connection for your creation with the game once you have a valid MWM file the rest of the character is set here, for a playable character there are move variables that are bot needed for a bot
subtype and of bot keep same as subtype to reduce confusion unless playable character


subtype of animation controller to be used


Path to rigged model file


subtype of sound to play upon death


false if walking animation if not a loop


The material type will give different particle effects e.g. metal hit vs organic hit. Options come from physical materals sbc


Weight of bot in kilograms


time in milliseconds dead body will stay for looting


Skeleton type to match animation, options of Arachnid, Humanoid and Tetrapod_simple


name of bone assocated with top of spine


if controlled by player true will allow switching between views


Assign subtypes of your animations to match up the controller versions

 <Mapping Name="Idle" AnimationSubtypeName="IdleWolf1" />
 <Mapping Name="Run" AnimationSubtypeName="RunWolf" />
 <Mapping Name="Walk" AnimationSubtypeName="WalkWolf" />
 <Mapping Name="Attack" AnimationSubtypeName="AttackWolf" />
 <Mapping Name="Died" AnimationSubtypeName="DiedDeer" />

setting if character is useable by player false if bot true if to appear in list of available suits


set to true if bot is to broadcast signal


size of inventory and allowed mass of loot

 <!-- in m3 ! -->

additional components associated with character her you can add is optional loot bag component.


name of bone assocated with “head” and the bone at the root of the model

 <!-- BONES -->

Different movement types and speeds the bot will use

 <!-- Character control -->






Position and size of the main sphere used for collision.


Force the bot can apply towards other characters or objects



Character sbc continued

Assignment of collision capsules surrounding bone “sets” collision radius can be increased to match the scale of the bot.
each set has a name and consists of a top one and a secondary bone


 <Bones>Wolf_Head Wolf_HeadBone007</Bones>
 <Bones>Wolf_Head Wolf_Neck_2</Bones>
 <Bones>Wolf_Neck_2 Wolf_Neck_1</Bones>
 <Bones>Wolf_Ribcage Wolf_Spine_3</Bones>
 <Bones>Wolf_Pelvis Wolf_Tail_1</Bones>
 <Bones>Wolf_Tail_1 Wolf_Tail_2</Bones>
 <Bones>Wolf_Tail_2 Wolf_Tail_3</Bones>
 <Bones>Wolf_L_Leg_1 Wolf_L_Leg_2</Bones>
 <Bones>Wolf_L_Leg_2 Wolf_L_Leg_Palm</Bones>
 <Bones>Wolf_L_Leg_Palm Wolf_L_Leg_Digit01</Bones>
 <Bones>Wolf_R_Leg_1 Wolf_R_Leg_2</Bones>
 <Bones>Wolf_R_Leg_2 Wolf_R_Leg_Palm</Bones>
 <Bones>Wolf_R_Leg_Palm Wolf_R_Leg_Digit01</Bones>
 <Bones>Wolf_L_FrontLeg_Collarbone Wolf_L_FrontLeg_1</Bones>
 <Bones>Wolf_L_FrontLeg_1 Wolf_L_FrontLeg_2</Bones>
 <Bones>Wolf_L_FrontLeg_2 Wolf_L_FrontLeg_Palm</Bones>
 <Bones>Wolf_L_FrontLeg_Palm Wolf_L_FrontLeg_Digit01</Bones>
 <Bones>Wolf_R__FrontLeg_Collarbone Wolf_R__FrontLeg_1</Bones>
 <Bones>Wolf_R__FrontLeg_1 Wolf_R__FrontLeg_2</Bones>
 <Bones>Wolf_R__FrontLeg_2 Wolf_R__FrontLeg_Palm</Bones>
 <Bones>Wolf_R__FrontLeg_Palm Wolf_R__FrontLeg_Digit01</Bones>

The animation to state to play immediately upon spawn


The physics shape to be used after death animation for the remaining body.

 <BoxShapeScale x="0.8" y="0.10" z="1.75"/>
 <RelativeCenterOfMass x="0" y="0" z="0"/>
 <RelativeShapeTranslation x="-1.5" y="-0.7" z="0"/>

variable to change if bot is capable of moving in multiple planes options of “OneAxis” and “Full”


additional setting of height of collision in metres




This file sets up the type of bot and additional variables unique for NPC’s
setup a subtype of bot to be used this can be the same subtype as the character definition

 <Bot xsi:type="MyObjectBuilder_AnimalBotDefinition">

Icon (not used will generate error as deer doesn’t exist)


name of character from character sbc


subtype of behavior to use, choose from wolf/animal/spider to match behavor sbc

 <BotBehaviorTree Subtype="WolfBehavior" /> 
 <!-- Which behavior tree to use -->

 <!-- Which actions (and logic) class to use -->

variables related to what happens after death, for different loot use subtype of custom loot definition which can be defined using entity container file


enemy creatures use SPID faction but this can be customised but this can cuse other bots to become valid targets


duration from the start of the attach animation before damage is applied in millisections


area of effect the damage will take in metres


amount of HP damage to cause


amount of damage to cause to components


if bot should see grids or other characters are valid targets use true/false


subtype of audio definition to be triggered when attacking



Behaviour type

Behaviour types you can choose from each provide a different way that the npc will operate.

  • “Wolf” – vanilla
  • “Spider” – vanilla
  • “Passive herd” – from mod behaviour
  • “Passive investigate” – from mod behaviour


Animation controller

for more advanced users you can create your own animation controller especially if your trying to create additional steps into the animations.
Keen provides a program to edit these files with a program to edit and create these files. with more information here: – [] 

Stats sbc


Planet generator SBC


Testing – there’s a mod for that!


Written by Chipstix213

This is all for Space Engineers How to Make NPC in Game + Script hope you enjoy the post. If you believe we forget or we should update the post please let us know via comment, we will try our best to fix how fast is possible! Have a great day!

Be the first to comment

Leave a Reply

Your email address will not be published.