Space Engineers

Space Engineers

Not enough ratings
Creating a Custom Asteroid Mod from a 3D Model
By Jasper
This guide shows you how to create a custom asteroid from a 3D model, create a mod using this asteroid, and use it in your game.
   
Award
Favorite
Favorited
Unfavorite
Getting Started
There are several tools and files you will need to accomplish the tasks in this guide.
  1. 3D model – You will obviously need a 3D model file for this mod. There are many available for download, both free and for a cost. What you pick is up to you. The model needs to be in one of these formats: 3ds, lwo, obj, objx, stl, and off. For this guide I will use “Star Trek Starbase 47 Vanguard”, which I downloaded from https://www.thingiverse.com/thing:1550135. This model is in the STL format. Several files are included in the downloaded zip file. I will use the full model: “Starbase_47_Vanguard.stl”. Note that the larger and more complex the model, the longer it will take to import. Depending on the model and the import settings (discussed below), the import process could take days. Yes, you read that correctly, “days”.
  2. SEToolbox – SEToolbox is a Space Engineers save file editor, originally created by Midspace, and now maintained by mmusu3. The original version no longer functions correctly with the current game, so make sure you download the newer version, located at https://github.com/mmusu3/SEToolbox/releases at the time this guide was written.
  3. Text Editor – you will need a text editor to create the mod file(s). I like to use Visual Studio Code, but any text editor will work, including Notepad.
  4. Empty SE World – You will need a Space Engineers save file to work with. Any save file will work. I like to create an empty, creative world to keep things small and eliminate distractions.
Import 3D Model
  1. Start SE Toolbox
  2. Open your empty SE world
    • File → Open, select your save file and click “Open”
  3. Import the Model file
    • Import → 3D Model for Asteroid
    • At the top of the dialog, click the folder icon, navigate to your model file and select it. The red X to the right of the folder icon should change to a green check mark.
    • There are a number of settings to play with here. I suggest that you initially leave all of these as defaults until you have verified the process. I found that, for example, if I make the asteroid too large, the import will hang. Once you’ve verified the process you can try changing different settings to see how it affects the results.
  4. Wait
    The import process can take a long time depending on the model and the settings you choose.
  5. Save your world
    Once the import is complete, save the world file by clicking File → Save, or the floppy disk icon in the toolbar. In the list of world objects below the toolbar you should see the asteroid you created.
Create the Mod
Mod Location
By default, local mods (which is what we will be creating) are located at:
c:/Users/<your user name>/AppData/Roaming/SpaceEngineers/Mods

A shortcut for this is:
%appdata%/SpaceEngineers/Mods

In this directory create a new folder to hold your new asteroid mod. Note that the folder name is the name of the mod.
Directory Structure
You will need a couple other directories inside the mod directory you just created, one named “Data”, and one named “VoxelMaps”.
Mod Files
There are two files required for this mod: the asteroid (vx2) file you created when you imported the 3d model using SEToolbox, and the mod definition file.
Asteroid File
Copy the vx2 file you created when you imported the 3D model using SEToolbox into the VoxelMaps directory. This is a good time to rename the file to something that is meaningful. In this case I renamed my vx2 file to “Starbase47Asteroid.vx2”. Do not change the vx2 file type.
Mod Definition File
The mod definition file is an xml file which has the sbc file type used by Space Engineers. Below is a template for this file:
<?xml version="1.0"?> <Definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <VoxelMapStorages> <VoxelMapStorage> <Id> <TypeId>VoxelMapStorageDefinition</TypeId> <SubtypeId>MyCustomAsteroid</SubtypeId> </Id> <StorageFile>VoxelMaps\MyCustomAsteroid.vx2</StorageFile> </VoxelMapStorage> </VoxelMapStorages> </Definitions>

Copy this template to a file in the Data directory named “VoxelMapStorages.sbc”. You will need to edit two values in this file:
  1. Change the value of SubTypeId to something specific for your mod. It’s best to avoid spaces and special characters in this value. This value must be unique in the game. For example, instead of <SubtypeId>MyCustomAsteroid</SubtypeId>, you might use <SubtypeId>MarysCustomAsteroid001</SubtypeId>.
  2. Change the value of StorageFile to match the exact filename of the asteroid file you copied from the game save folder.
Save this file and exit the text editor. You are now ready to test.
Testing the Mod
I suggest creating a new, empty creative world for testing. This will keep the save file small and eliminate distractions. You can also use a survival world, but once you are in-game, you will need to go into the admin menu (alt-F10) and turn on Creative Tools.
  • While creating the game, click the “Mods” button and add your new mod to the game.
  • Load the game and your game file created above (and turn on Creative Tools if you are using survival mod).
  • Press shift-F10 to get to the Spawn Menu
  • In the drop-down at the top, select “Predefined Asteroids”.
  • In the “Select Type” box scroll to the name of the asteroid in your mod and click on it. If you want you can change the material in the “Material” box below, but for this example we will leave it on “Keep Original”.
  • Click on the “Spawn” button. From here it is just like spawning a blueprint in creative.
Publishing the Mod
Publishing the mod to the workshop is just like publishing any mod or blueprint.
  1. Start Space Engineers
  2. Select “Load Game”
  3. Click on any saved game
  4. Click “Edit Settings”
  5. Click “Mods”
  6. Select the mod
  7. Click the “Publish” button
Notes
  • I’ve found if you modify your custom asteroid in-game, eg. dig a cave in it to build a base, those changes are saved in the vx2 file for the custom asteroid. If you save the game and then copy the modified vx2 file to your mod location, any time you load/spawn that asteroid into a new game it will also have those modifications.
  • I’ve been asked how to add a custom asteroid to a running server. Like any other mod, you will need to stop the server, add the mod to the server’s mod list, and then restart the server. Once the server is running an admin can spawn the custom asteroid in the desired location.