Recipe: Making an Armor Block Mod

This mod recipe teaches you how to create an armor block mod from the very beginning to the very end. It is a great place to start learning how to mod Space Engineers in general and introduces you to many of the different aspects of modding the game.

There are two disclaimers that have to be noted before we start making this mod:

  1. Mods adding new armor shapes to Space Engineers cannot support armor deformation. The reasons for why are complex but the essence is that unfortunately this is a limitation of what modding can do.

  2. Directly connected to the above - the characteristic of armor blocks connecting their textures to adjacent blocks is dependent on them being set up with the ability to deform. As that is not available for new modded armor shapes, having textures connect across blocks is also not possible for modded armor blocks.


I. Set up mod folder and initial model

Follow the https://semref.atlassian.net/wiki/spaces/tutorials/pages/28213320-tutorial’s section I. and create a folder for your mod. Name it something like “My First Armor Block Mod”.

Next, set up your SEUT scene: Choose a descriptive SubtypeId for your block and set your Mod-folder to the folder you created in Step 1. Your Model-folder will automatically be set to a default within your Mod-folder and based on the grid size you select.

The SubtypeId also determines the file name of the resulting model. In addition, should there be any errors with your block, logfiles will list it for you to identify the error. As such, it is highly recommended you format your SubtypeId in a way that makes it easy to identify.

  • In the example, I use my nick as the first item in the ID, which is a good option to easily find errors you need to care about in an error log. An alternative is to use an abbreviation of your mod’s name.

  • The second item in the ID (delimited by _ underscores) is the grid size of the block. In this case it’s LG for large grid (the other option being SG for small grid). These two abbreviations are recognized by SEUT itself and I highly recommend you use them.

  • The third item in the ID is LA for “light armor” - its counterpart being HA for heavy armor. It’s a good idea to use this on any armor block you make because it makes it easy to keep things grouped up in your file structure.

  • The fourth item is the actual name of the block. Especially in the case of an armor block it’s important to make it as descriptive as possible in order to easily be able to distinguish it from others.

Choose whatever armor block shape you want and model it. If you opt for models larger than a single block, be sure to adjust the Bounding Box accordingly to encompass your entire model. In the example, we’ll be working with a very simple block:

For texturing, since we’re making a light armor block, make sure to pick the respective materials in the Asset Browser's Armor section. It looks best if you utilize the materials apart from the SquarePlate ones for sides that fit and then just use SquarePlate on the remaining ones.

Place the block’s model in the Main-collection.

Export the Current Scene as Large Grid. This will not only generate the MWM-file containing your model, but also a default SBC-file which allows you to spawn the block ingame. It is placed in the Data\CubeBlocks\-folder within your mod.

Start up Space Engineers and create a savegame in an Empty World. Add your mod to the save’s modlist and load the game.

Open the G-menu and search for your block based on its SubtypeId. It will always have this specific icon by default.

Place the block into the world. This is a good way to check whether the textures work well. At this point it should also already be colorable and skinnable.

This is the point where you can go back and adjust the geometry or materials in Blender, and then test again ingame until you’re satisfied with them.


II. Create mountpoints, mirroring, collision, build stages, LODs and icon

Follow the https://semref.atlassian.net/wiki/spaces/tutorials/pages/6160894 to set up the mountpoints for your block. For reference, this is the setup for my block:


III. Create the necessary SBC entries


IV. Test & Release Mod

Learnings

 

Prerequisites

 

Overview

 

Related