This guide will show you how to properly install and add custom parts in the Custom Suits Mod for Space Enginners.
Requirements
To modify custom parts, you’ll need a few tools:
- First, use Blender to export models to MWM effortlessly.
- Next, grab a text editor to tweak the XML data.
- Lastly, make sure to have an image editor that supports .DDS for crafting those icons.
Mod Setup & Folder Structure
For every part mod, you must have a file named “CustomSuitsModDefinitions.xml.” Place it precisely within “ModRoot/Data/.” If it’s not in that spot, the game won’t load it.
Inside the CustomSuitsModDefinitions.xml, you can start with this xml:
<?xml version="1.0" encoding="utf-16"?> <CustomSuitsModDefinitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <PartDefinitions> <PartDefinition> <SubtypeId>YourHat</SubtypeId> <Name>Your Hat</Name> <Icon>YourHat_Texture</Icon> <Model>Models\Hats\YourHat.mwm</Model> <Bone>SE_RigHead</Bone> <Position> <X>0</X> <Y>0</Y> <Z>0</Z> </Position> <Rotation> <X>0</X> <Y>90</Y> <Z>90</Z> </Rotation> <Scale> <X>1</X> <Y>1</Y> <Z>1</Z> </Scale> <HideInFirstPerson>false</HideInFirstPerson> <HideWhenDead>false</HideWhenDead> <Colorable>false</Colorable> </PartDefinition> </PartDefinitions> </CustomSuitsModDefinitions>
To add new parts, remember that the SubtypeId must be one of a kind. If it’s not unique, it might replace or be replaced by another hat.
Check if your part is loaded by inspecting the log found in %appdata%/SpaceEngineers/.
To include multiple parts, duplicate the text from <PartDefinition> to </PartDefinition>. Paste it right after. Ensure the pasted <PartDefinition> is nested within the <PartDefinitions> scope.
Part definition
Model
The relative model path from mod root. If the file does not exist in the mod path, it will use the game content path instead. Any MWM can be used and you do not need setup collisions.
Examples:
<Model>Models\Hats\SantaHat.mwm</Model>
I have added SantaHat.mwm to my mod, the mod will use this model.
<Model>Models\Cubes\small\RemoteControl.mwm</Model>
RemoteControl.mwm does not exist in my mod, it will use the game’s RemoteControl.mwm instead.
Bone
To attach a part, specify the bone’s name. If the bone isn’t on the character, the part won’t be made, and a log message will appear.
View available bones by activating Model Dummy Debug Draw in the F11 menu. Note that the bone debug draw uses a T-pose, not the character’s animation.
Examples:
<Bone>SE_RigHead</Bone>
The character’s head bone will be used.
<Bone>SE_RigRibcage</Bone>
The character’s ribcage bone will be used. This is also the bone the backpack is attached to.
Name.
The display name shown in the GUI. This is not currently localized.
Example:
<Name>Shoulder Pad (Right)</Name>
Icon
Transparent material subtype id of the icon of the part. For making icons, I use the Keen Block Showroom.
with the following details:
- Character with no skins, 0% hue, 0% saturation, 20% value
- Third person, minimum zoom to maintain consistent distance
- Ansel at 40 FOV
After taking the screenshot, I crop the image to a square and replace the background with the color #282828. I then finally resize the image to a 256×256 resolution.
Example:
<Icon>ShoulderArmorRight_Texture</Icon>
In my TransparentMaterials.sbc file, I have created a material called ShoulderArmorRight_Texture.
Position
The position offset in meters.
Example:
<Position> <X>-0.09</X> <Y>0</Y> <Z>0</Z> </Position>
This is for a tophat part. To put the hat in the right position, I needed to move the part up 0.09 meters.
Rotation
The rotation of the part in degrees. Due to bone rotations not always being the same rotation, it may take some guess work to find the correct orientation you want. Modifying the rotation will not affect the position offset.
Example:
<Rotation> <X>0</X> <Y>90</Y> <Z>90</Z> </Rotation>
This will rotate the part by 90 degrees for the Y and Z axis.
Scale
Scale multiplier of the part model.
Example:
<Scale> <X>2</X> <Y>2</Y> <Z>2</Z> </Scale>
This will scale the part’s model 2x uniformly.
HideInFirstPerson
When true, the part will be hidden when the player is in first person view. This is helpful for hiding parts that obstruct the view. When deciding if this should be true, you should drop the character from a height; the landing animation sometimes shows parts not visible from standard gameplay.
Examples:
<HideInFirstPerson>false</HideInFirstPerson>
The part will be shown when in first person.
<HideInFirstPerson>true</HideInFirstPerson>
The part will be hidden when in first person.
HideWhenDead
When the character dies, the part will be hidden (like to prevent floating parts when the backpack detaches).
Examples:
<HideWhenDead>false</HideWhenDead>
The part will still be visible if the player dies.
<HideWhenDead>true</HideWhenDead>
The part will be hidden if the player dies.
Colorable
When true, the part’s color mask can be changed. You can determine if the part is colorable by the materials on the model. All block models are colorable, but component models are not.
Examples:
<Colorable>false</Colorable>
The part will not be colorable. Notice the color swatch is disabled in the image below.
<Colorable>true</Colorable>
The part is colorable. Notice the color swatch is available in the image below.
That's everything we are sharing today for this Space Engineers guide. This guide was originally created and written by Jakaria. In case we fail to update this guide, you can find the latest update by following this link.