Understanding and navigating the Space Engineers game code is essential for developing powerful plugins with SE Launcher. This page provides an overview of how to browse, analyze, and make sense of the game's internal structure.
Most modern C# IDEs provide built-in decompilation features that allow you to explore game code directly:
This is ideal for quickly checking method signatures, class hierarchies, and understanding usage patterns.
For a more detailed and structured approach to exploring game internals, it is highly recommended to use dnSpy:
Download it here:
https://github.com/dnSpyEx/dnSpy/releases
The game is split into several assemblies (DLLs), each with its own responsibility. Here’s a breakdown of the most important ones:
These contain low-level functionality shared across all parts of the game engine:
VRage
– Base utility and system librariesVRage.Game
– Core gameplay systems and logic definitionsVRage.Input
– Input managementVRage.Math
– Math utilities (vectors, matrices, geometry)VRage.Network
– Networking layerThese contain actual gameplay logic and modding interfaces:
Sandbox.Common
– Public interfaces and modding API; includes most definitions with Ingame
suffix used in vanilla mods and scripts.Sandbox.Game
– Core game logic, systems, components, blocks, and gameplay mechanics. This is the main body of the game logic.SpaceEngineers.Game
– Game-specific logic for Space Engineers itself.Sandbox.Game
was shared between Space Engineers and Medieval Engineers, but the codebases were split long ago.Plugins have full access to the same APIs and patterns used in vanilla modding, including:
In addition, plugins are not restricted like workshop mods, and can also interact with internal or private APIs, patch methods, and hook into engine-level systems.
This means you can both extend standard game logic and implement entirely new systems by leveraging both public and internal APIs.