Space Engineers 2

Space Engineers 2

Not enough ratings
Space Engineers 2 | Guide: Modding Overview
By KeenSWH and 2 collaborators
VRAGE3 & Space Engineers 2 | Modding Overview - START HERE
   
Award
Favorite
Favorited
Unfavorite
Basic Tool Setup and Mod Creation


In order to make mods for Space Engineers 2 you need to install the following products from Steam
  • Space Engineers 2
  • Space Engineers 2 Mod SDK
Once installed, launching the Space Engineers 2 Modding Tools from steam should load the VRAGE3 Mod HUB. From there you can create, manage and publish your mods.

*gif*

To create a new mod
  • Launch the Space Engineers 2 Mod SDK from Steam
  • In the VRAGE3 Mod HUB Press the “+ Add Mod” button
  • In the Title field give your mod a name
  • Press OK
  • Press the Start Editor button
  • Once the editor loads you will be able to start creating your mod
  • Test Mod by running game from HUB or Editor via Start Game button
  • After finalizing the Mod, Publish it from HUB to Steam using Publish button
VRAGE3 Mod Editor: Introduction
Welcome to the VRAGE3 Mod Editor. This guide provides an extensive overview to familiarize you with the editor. More detailed explanations of specific features will be covered in separate, feature-focused guides.
VRAGE3 Mod Editor: Terminology
The following section covers various terminology, how they are used, and what they are used for.

Prefab
A prefab is a container that acts as an anchor for all the data for a specific game entity. It contains all the required components, which then have links to required definitions to make something behave in a particular way. A gyroscope block, for example. A gyroscope has multiple components to make it a functioning block. It needs a render component, a model component, a block component, and a gyroscope component. Many of these components have definitions that store the editable values such as health, name, and gyroscope strength.

Below is the basic structure of a Prefab:

Header: Displays the name of the asset, its parent (if applicable), and linked client and server files.

Components: For example, a basic block needs the following components to be considered valid, and two of them will have associated definitions that contain the actual data:
  • Hierarchy Component
  • Block Render Component
  • Block Model Component
  • CubeBlock Component
A prefab with these components and associated definitions allows for a simple shape to be placed in the game world.

Definition
A definition is a data file. It contains a specific set of information for a particular element of the game. Let's take the gyroscope again. The gyroscope needs to know what its torque strength is. This is set by a gyroscope definition which is linked to a gyroscope component in the prefab. Components sometimes have adjustable values, for example, the starting color and brightness of a light, but for the most part this is all handled by the definitions.

Partial Copy
The VRAGE3 Editor allows you to create digital twins of prefabs and definitions already in the game. This means you can quickly and easily make a game entity like a block, taking an existing block as the base and adjusting it. The difference between this and normal copying is that if the original asset has a value changed, and this value is not adjusted in the partialized file, then it will automatically be updated along with the original.


Partial Override
This is essentially the same as a partial copy. The difference here is that it allows for the replacement of an existing game entity with new values, and only the values that the modder chooses to modify are updated. Once again, values that remain unchanged can be updated on the original, which will automatically apply to the override.


Template
Templates are preconfigured prefabs and definitions that can be used to quickly generate a game entity with all of its required components filled. It also automatically generates many of the needed definitions in the location you triggered them in. Templates live under the “Create a Prefab” context menu (Right Click) and are sorted into meaningful categories, e.g., blocks are split between armor/breakable/non-breakable. Breakable blocks are those that are set up to have fractures. Non-breakable are those which don't have fractures, and armor are those that are set up as armor blocks so that they can be deformed.
VRAGE3 Mod Editor: Navigating the Vanilla Project
When creating a mod, you cannot overwrite the game data directly but will be able to create partial overrides and copies of existing prefabs and definitions. The vanilla project is structured in such a way to mostly cluster together related files such as models, materials, prefabs, and definitions of the specific game entity you are looking for. Some examples of folder taxonomy have been included below:

Blocks
Structure: Assets\Blocks\BlockFamily\BlockName\Size\
  • BlockFamily - family of blocks (i.e. Conveyors, Windows, Doors)
  • BlockName - name of the block within the family (i.e. Curve, Sorter…)
  • Size - size of largest side in centimeters (i.e. 25, 50, 250)
Subfolders for each block:
  • Models - contains fbx and .models in Variant subfolders
  • Model\Variant = NonFractured, Fractured, Deformed
  • LODMaterial - contains last LOD baked texture and material
  • Icon
  • <root> - contains prefab and definitions
Block Materials
The material library for blocks is shared with blocks, items, tools etc.

Structure: Assets\BlocksMaterials\MaterialName

MaterialName - Name of the material, folder contains png textures, .comptex and material .def.

Armors
Armors are special cases of blocks.

Armor Blocks

Structure: Assets\Armors\ShapeName\Size\
  • ShapeName - name of armor block variant (i.e. Corner)
  • Size - size of largest side in centimeters (i.e. 25, 50, 250)
Subfolders for each armor block:
  • Each armor block is one composite file in the root, naming: BlockName_Size.comparm
  • Heavy - Prefab of heavy variant
  • Light - Prefab of light variant
Armor Sides

Structure: Assets\Armors\Shared\SideType\ArmorSides_PlateType.fbx
  • SideType - Folders named after type of armor block side
  • Each folder contains one fbx with basic side topology and scaled side variants (.armorside)
Scaled variants naming:
Assets\Armors\Shared\SideType\ArmorSides_PlaneType_Size.armorside
VRAGE3 Mod Editor: Windows and Panels
This section provides an overview of many of the windows and panels within the editor and their function.
Windows & Panels - Project Explorer
The Project Explorer consists of two main panels:
  • TreeView (left)
  • GridView (right)
Project Tree View
The TreeView displays the project's folder structure and game assets.
  • Folders can be expanded or collapsed to show/hide subfolders.
  • Folders without subfolders cannot be expanded.
  • Clicking a folder opens its contents in the GridView.
  • Files can be displayed in the tree by changing customization settings.
Project Search
  • The search bar at the top of the TreeView allows asset searches throughout the entire project.
  • When typing in the search bar, the TreeView displays only matching folders and assets.
  • This functions similarly to Unreal, but with the added functionality of displaying matching assets instead of just the folders containing them.
  • The search query can be reset by pressing escape while typing or by clicking the clear button.
  • If a folder or file is selected during a search and the query is reset, the TreeView will keep the selection.
  • Single-clicking a folder from the search results selects it and displays it in the GridView.
  • Single-clicking a file from the search results selects it and displays it in the Inspector.
  • Double-clicking triggers the "Open" action.
  • Search results behave the same as assets in the GridView (drag and drop, open, select, etc.).
  • Uses the existing Search Service for query matching.
Complex Search
Both grid filtering and tree search allow the use of tags to specify the file type being searched.
  • /g or /guid to search an asset with its GUID
  • /subAsset or /noSubAsset to include or exclude sub-assets from the search.
Search for GUID is automatically enabled if a GUID is successfully parsed from the input text. Some default values for search tags can be edited in the explorer settings.
Project Grid View ("Current/Selected/Shown Folder Panel")
The Grid View displays the contents of the currently selected folder in alphabetical order (folders first, then files).

Each asset has an icon that can change depending on the asset type:
  • Default: Normal file icon
  • Textures: Show their content in the icon
  • Materials: Show a small pre-rendered preview
  • Definitions: Can have specifically assigned icons depending on their type
Context Menu (Right Click) Options
  • Folder Selected:
    • Rename folder
    • Delete folders
    • Show in Windows Explorer
  • File Selected:
    • Rename file
    • Delete file
    • Duplicate file
    • Show in Windows Explorer
    • Create Definition (submenu)
    • Create Asset (submenu with different asset generators)
    • Create Prefab (submenu)
  • Nothing Selected:
    • Create Folder (clicked on empty area)
    • Create Definition (submenu)
    • Create Asset (submenu with different asset generators)
    • Create Prefab (submenu)
Drag & Drop
To move files and folders, select one or multiple files and drag them onto another folder. This can be done within and across both panels (drag from grid view to Tree View and vice versa).
Windows & Panels - Render Window
The Render window uses the VRAGE3 renderer and is used for inspecting one or multiple models simultaneously. For performance reasons, the editor will not have the complete game running in the render view. The render view does not run any simulations; it only renders the models and debug info and allows modification of blocks and other game entities. An example list of entities can be found below, when in the editor double clicking on any of these will show them in the render window:
  • Block Prefabs
  • Materials
  • Models
Render Options
At the top of the render view, there are several categories that can be used to inspect different properties in the scene:
  • Render Settings:
    • Allows the preview to be rendered differently (e.g., Albedo)
    • Physics Debug - Renders the collision shape of the model
    • LOD Settings - Preview different LOD levels
  • Preview Settings: These are dynamic depending on the currently previewed item. (E.g., materials allow for the preview model to be changed, models allow for certain mesh parts to be hidden, and prefabs allow for a multitude of settings such as previewing the dummies).
  • Camera Options: Allows the camera mode and perspective to be adjusted.
  • Skybox Settings: Allows for different skyboxes to be selected in the editor and their brightness settings adjusted.
Render Controls
  • Measurement Tool: Allows measurement of the previewed asset.
  • Controls: Gives a list of hotkeys used while using the render view.
  • Gizmos: Depending on what is selected allows you to select a gizmo to interact with (e.g., allow the manipulation of dummies).
  • Gizmo Settings: Allows you to adjust the setting of the gizmo (e.g., manipulation from transform to rotate to scale).
Windows & Panels - Property Inspector
The properties inspector window displays information and is also where almost all of the file editing is done for the currently selected asset. What can be done in the inspector is specific to the type of file you are modifying, some examples are given below:
  • Prefabs - The adding/removing of components and assignment of associated definitions
  • Definitions - Adjustment of values or attributes
  • Materials - assignment of textures and values
Common buttons and controls
Search - This button brings up the search bar allowing you to search through all available projects.

Pin to the Inspector - This button allows you to “lock” the currently viewed asset to the project inspector, This is useful to avoid accidentally clicking off onto another asset and having to refind the asset you were editing.

Rename - Allows for renaming of the definition without using the right click → Rename

Go to Asset - automatically displays the location of the asset in the “Project Explorer”


Shows what the base asset is and allows you to click on the base asset to be taken to it in the “Project Explorer”

Open Asset Finder - when inserting a link to another asset this button brings up a small context window. It allows you to search and select for the asset you are looking for.

Create New Definition - Found in the same area’s the “Open Asset Finder” button is this allowsallow for a new definition to be created in the same location as the asset that it was triggered on is located. The definition is brought into focus in the property inspector when created.

Add Element button - This button will add changes to a list within a section while also generating a new entry of the same section.

Transform Controls - These allow for transformation of entities within the game world. The label on the transform will explain what each number relates to on the axis, e.g degrees, distance in meters, size in meters etc.
Documentation and Tooltips
The Editor has an extensive backend documentation which are surfaced via tooltips on each individual element of a definition. When hovering over the element’s label a brief explanation of what it is for is shown. In prefabs this is done on the component level and the explanations are slightly longer and more complex. He are two examples of of the type of documentation shown in editor

Component in Prefab


Tooltip on Definition

Windows & Panels - Asset Validation, Particle Effects, Console
Asset Validation Window
The asset validation window displays a list of items that have been modified in a way that is considered invalid or incorrectly setup. Each item in the list includes a button that will take you to the asset in question, as well as a description of the problem. The list can be filtered into three categories:
  • Information: May cause performance issues or unintended results, but the game should still run.
  • Warnings: Semi-serious problem with an asset; the game may fail to start or crash unexpectedly.
  • Errors: Critical problem which will prevent the game from starting or will cause a crash on start.
It is important to note that errors must be fixed in order to publish your project. Remaining warnings could cause performance issues for users of the mod in question.
Particle Effects Window
This is used to create particle effects in the game. Many of the changes to values are done via this window which allows for instant preview in the render view.
Console Window
The console window displays a log of Editor messages, which can be filtered by info, warning, or error level in the upper right corner. These messages include information, warnings, and errors. Clicking on a message containing a file path or guid will select the corresponding file in the project explorer, if possible.
Art: Material Library Set-Up in Blender
To use it as a library, the template .blend file needs to be added as “asset library”, doing these steps:
  1. Unzip the SE2Decal&Material.zip to a preferred location; They can be found here: steamapps\common\Space Engineers 2 - Mod SDK\Blender Library Template\SE2Decal&Material.zip

  2. In your Blender Startup file go to menu Edit -> Preferences -> File Paths

  3. In the “Asset Library” section, press the folder icon to set the path to where you stored the SE2Decal&Material. Press “Save Preferences”.

  4. Extend a new window in the UI, in any place you want, and go to the top left icon and choose AssetBrowser

  5. On the top left drop down, select SE2Decal&Material. You now have an organized library with Decals, Trims and Materials to be placed on any model.

  6. Go to menu File -> Defaults -> Save Startup file
If you try to Drag&Drop one of the materials, but the material looks pink (no texture) in Blenders' Viewport Material preview, follow these steps to fix it:
  1. Go to File -> External Data -> Find Missing Files

  2. Set the path to the projects Material DDs Textures ( \GameData\Vanilla\Content\BlockMaterials) and press Find Missing Files

  3. Wait a few seconds and the materials will be updated.

  4. Go to Preferences and press “Save Preferences”.

  5. Go to menu File -> Defaults -> Save Startup file

Mesh Types
There are three types of meshes, in any given block in SE2:
  • Non-Fractured mesh - intact object that doesn't have construction stages and cannot fracture
  • Fractured mesh - same as the non-fractured, but this time it will fracture - you can break the model by parts.
  • Deformed mesh - Exactly copy of Fractured mesh but the meshes are deformed

LODs
LOD - Level Of Detail: refers to the complexity of a 3D model representation, which can be decreased as the model moves away from the viewer
As for creating them it's the normal process of decimating a mesh using your preferred techniques, keeping in mind of what distance the mesh is going to be seen.

If we make changes in the LOD0, we also need to make the same changes in the rest of the LODS - including baking the Last LOD texture if the changes are visible at LastLod distance - as to not have visual mismatch when the Engine switches from one LOD to another.

The amount of triangles per LOD is based by the blocks size and calculated in the Model Calculator, inside Editor:
  1. Go to Window -> Model Calculator

  2. On the right screen, input your Block size values into X, Y and Z.

  3. The information needed is automatically calculated in the following fields.

Collisions
Besides providing the meshes with all of their versions and respective LODs, we also have to provide collision geometry, for physics to behave correctly and be able to collide the model with the environment and characters. For the physical simulation, we generally use a simplified geometry representation of the actual model.

In our example, for collisions we are not going to change anything. We will provide the collision files (.bin and .gtlf) and will use them on our modified model.

MountPoints
MP - Mount Points are specific locations on the surface where blocks can be arranged/attached. These are essential to connect anything to our block.

In order for the Editor to generate MPs properly, the mesh needs to cover >50% of the 25cm grid cell’s surface, if it is indented by approximately 3cm from the bounding box this does not count towards the 50%.


With this information, we can at least predict if a surface of our block will be detected as mount points or not. So make sure that you are aware of this to avoid any unexpected mountpoints areas where you don't want them, or lack of mountpoints where you need them.

Also check if the Area is actually touching the Bounding Box. Even if a surface is slightly pushed down, the Generator will create MPS there. Placing anything there will look like it´s floating.

Materials
SE2 doesn't use individual (baked) textures for most of the block’s models, except its last LOD. The majority of models use materials from our Material Library and are assigned automatically in the Editor, if the material of the mesh from our modeling SW has the same name.

In Editor, these materials and decals are located in Assets/ BlockMaterials. They can also be previewed inside Blender, after the SE2 Decal & Material set-up.

The rules for Material limits are given by the Model Calculator, depending on the Block´s size and respective LOD:


There is also a specific Texel Density that you can follow on your models. We mainly use what is recommended and adapt, depending on the resolution of the Material.



Here is the following list of all current texture resolutions of our materials.
This way we know how to set the TDs properly and you don't have to always go to the game´s texture folder and search for them.



So for example, for a Functional block, we suggest using the recommended 16.38 px/cm (1638 px/m) in a 4k resolution, for the Painted Metal Colorable.
FAQ & Differences from SE1 Modding
  1. Folder structure and naming conventions do not matter: VRAGE3 uses a referencing system, this means you do not need to follow a specific folder structure or naming convention for your mods, for them to be considered valid.

  2. No defined entity type: In VRAGE3 a door can also be a light, a gyroscope and a thruster. In space Engineers 1 blocks were locked to specific entity types and could not be multiple different types of block.
Support & Links
In case you need more help, check out the Modding section of our Discord[discord.gg] – our team and community are there to support you!



🛠️ Feedback & Support - https://support.keenswh.com/
🗺️ Roadmap: https://2.spaceengineersgame.com/roadmap-2/#current
🛰️ Discord: https://discord.gg/keenswh
📫 Newsletter: https://www.keenswh.com/newsletter
➡️ Connect and find us on your platform of choice: https://www.keenswh.com/connect/