Development tools - THDigi/SE-ModScript-Examples GitHub Wiki


Moved to SE WIKI

https://spaceengineers.wiki.gg/wiki/Modding/Tools


A list of useful tools for the various aspects of SE modding:

  • (Game build) Profiler Build
    An alternative game build of the game with profiling tools and a debug menu (F12, or Alt+F12 to avoid steam screenshot) which allows you to see and tweak a lot of various things, like force a specific LOD level (Render -> Lodding), properly edit hand positions on hand items, play around with planet atmosphere, environment light settings, etc.
    WARNING: there are some buttons that allow you to save changes (like hand items), these will overwrite game files, backup your game's Data folder before using those save buttons!

  • (Program) A proper integrated development environment (IDE)
    For Programmable Block and/or C# mod development, any IDE that supports adding .dll references for getting the API context.
    Most commonly used is Visual Studio community edition which is free (not to be confused with Visual Studio Code which is very different and wildly harder to configure).
    Programming in SE is C# 6 & .NET Framework 4.8. Also careful with AI assists, they might make things worse as they're not entirely aware of SE's imposed limits nor best practices (even though there are some chatbots that claim they use SE's best practices when they clearly don't xD).

  • (Visual Studio addon) MDK / Malware's Development Kit
    For Programmable Block development, a VS addon that streamlines project creation, whitelist checking, merging files into one string, a minifier and more! The wiki is also very useful for guides for PB regardless if you use MDK or not.

  • (Plugin) MDK-Debug
    For Programmable Block development, a plugin that allows debugging using Visual Studio, designed for MDK projects.

  • (Mod) Programmable Block DebugAPI
    For Programmable Block development, a mod that allows you to draw things in 3D, print things to chat/HUD and measure parts of the code.

  • (Mod) Programmable Block auto-reload
    For Programmable Block development, a mod to automatically replace a PB's script when a file changes.

  • (Program) Sprite Builder
    For Programmable Block development, a tool to help users design composite sprites and simplify the process of creating the code for displaying them. Using this tool, you can visually layout sprites how you want, then export your layout to C# boilerplate code.

  • (Blender addon) SEUT / SE Utilities
    Helps with workflow for exporting models from blender to the game, also helps with making colliders, mountpoint design and even planet modding.

  • (Program) ILSpy
    A C# decompiler, very useful for learning more about how something works in the game (because its code is not obfuscated anymore), simply open the game's dlls from Bin64 and search/analyze away!

  • (Program) dnSpy
    Similar to ILSpy above but with more features such as being able to decompile in-memory assemblies (like PBs and mods are in SE).
    Also has a debugger which is very valuable to debug running code of the PBs, mods and game aswell, can catch exceptions and pause the execution so you can explore the stacktrace, values of things, and can even identify stack overflow causes.

  • (Program) SEWT / SE Workshop Tool
    A program that can publish mods/pbscripts/blueprints/etc to steam workshop and can also do it in bulk, amongst other features. It requires SE to be installed.

  • (Program) SEToolbox
    A save editor with various features for converting blocks to other kinds, converting 3D models and images to shapes usable ingame.

  • (Mod) Reload Definitions
    For sbc mod development, allows you to reload definitions in realtime to allow faster experimentation.

  • (Plugin) Particle Editor
    A plugin that adds a GUI-way of editing particles, ingame with live instant previewing.

  • (Plugin) Plugin Reloader
    A very simple client plugin loader that can load them again with a hotkey, useful for developing plugins to try new code in realtime.

  • (Plugin) Mod Debug Build
    Allows attaching VS or other IDEs to the game to allow breakpoints for local mods.
    Additionally it unloads model data on world unload to no longer require a full game restart for model empties.

Framework mods

A few mods that are frameworks (which means they're required as dependency) for added capabilities.

NOTE: Most do not require programming, only some sort of SBC or template configuration. Ones that require programming it will be mentioned as the first thing as "For C#/script mods".

  • ModAdjusterV2
    For modders to do partial SBC editing using the SBC (XML) format.

  • Fix LCD support
    For modders adding blocks, allows LCDs to be added to more block types.

  • LCD On Subparts
    For modders, allows LCDs to be cloned onto subparts.

  • Text HUD API
    For C#/script mods to draw text and textures on HUD and 3D.

  • Rich HUD Master
    For C#/script mods, an UI framework.

  • Definition Extension API
    For C#/script mods to be configurable by other mods via extra tags in .sbc or even standalone .xml.

  • Scope framework
    For modders to add zoomable scopes to their weapons.

  • Whip's Railgun Weapon Framework
    For modders to add custom railgun functionality to ship weapons.
    (Not usable with WeaponCore).

  • WeaponCore / CoreSystems
    A weapon system overhaul, incompatible with most weapons that use vanilla system. For modders to implement all sorts of weapon configurations.

  • [Mexpex] Thruster FX - Framework
    For modders to add particle effects to thrusters.

  • [Mexpex] Death FX - Framework
    For modders to add particle effects and/or physical debris for character deaths (including NPCs).

  • Research System Framework
    For modders to manipulate the Research and Progression system

  • Animation Engine
    For modders to animate subparts on any block type.
    However while it does not require C#, it uses a made up C#-like language for the design.

  • Modular Encounters Systems
    For modders to spawn NPC prefabs all over the world along with an AI behavior system.

  • TouchScreenAPI
    For C#/script mods and PB scripts, adds touch screen support for LCDs and a UI system for the screens aswell.

  • Pocket Shield Core
    For C#/script mods to add shields to characters.

  • AiEnabled
    It's a player mod but also has a framework for modders and C#/script mods to add new characters and behaviors.

⚠️ **GitHub.com Fallback** ⚠️