SuperAPI AI Directory

se2-dev

Coding & development

View repository

Updated 10-15 20:14

About this skill

SE2 Dev — Space Engineers 2 Development Overview

Applies only to Space Engineers version 2.

Entry point and table of contents for se2-dev-* skills. Read this first to get the big picture, then open the specific skill the task needs. Does not perform searches or builds itself — routes you to the skill that does.

SE2 is in early access and its extension surface is still growing. Today only plugins are a full development target; the rest of this page says what exists now and what does not.

Ways to extend the game

Layer What it is Runs as Status Skill
Plugin .NET DLL patching the game with Harmony, loaded by Pulsar Unsandboxed, full .NET Available se2-dev-plugin
Mod Steam Workshop content, loaded by the game Sandboxed Evolving; no dedicated skill yet see Guide.md
In-game script Programmable Block code — Not yet in SE2 —

Plugins run native code with no sandbox — they can do anything, which is why they are open source and reviewed before release. Client-side-only workshop mods can be registered to Pulsar so its registry lists them; that flow is documented in the plugin skill's Guide.md, not in a separate mod skill.

Where plugins run

SE2 has no dedicated server and no Torch equivalent yet, so every plugin currently targets the game client.

Game client
Loader Pulsar (installed via Pulsar-Installer)
Registry PluginHub-SE2
Admin UI in-game config dialog
Skill se2-dev-plugin

Pulsar lists and loads plugins from PluginHub-SE2 and compiles them from source on the player's machine, pinned to the GitHub commit the registration names. Server-side plugin hosting (the SE1 Magnetar/Quasar stack) has no SE2 counterpart yet.

Do not carry SE1 assumptions over. The se-dev-* skills describe a different game with a different API surface; SE1 plugins are not SE2 plugins.

Skill map

Authoring skills (write plugins)

  • se2-dev-plugin — Plugin development (Harmony patching, transpilers, preloader, publicizer). Search plugin source downloaded from PluginHub-SE2, and review submissions to it.

Reference skills (read/search the game internals)

  • se2-dev-game-code — Search the decompiled C# (and IL) of the game client, plus its textual Content. The exact code you call or patch, and the only reference when the handbook is not installed.
  • se2-dev-game-book (optional, if installed) — Handbook on how the game client works inside, organized by subsystem, with a page per type. Read it first for any question about how the game does something or which types take part.

The se2-dev-game-book handbook is distributed separately and is not part of this public repository. When installed, read it before searching code for any question about how the game works; without it, answer those questions from se2-dev-game-code.

Graphify graphs (read on demand)

  • GraphifyPrepare.md — how each subskill builds its own per-subskill graphify-out/. Prepare installs Graphify on Python 3.12 with the fast native Rust Leiden clustering backend and, when that backend is available (Linux/Windows with uv), builds the graph automatically — clustering then takes ~1-2 minutes even for the decompiled game corpus. Where the fast backend cannot be provisioned, Graphify stays optional and only builds on opt-in with SE2_DEV_GRAPHIFY=1 (the slow single-core fallback adds ~10-30 minutes on the game corpus; small corpora stay quick). SE2_DEV_GRAPHIFY=0 disables it entirely. Also covers the health check that detects an unusable (unclustered) graph and the clean-and-rebuild flow.
  • GraphifyUsage.md — how to query an existing graph (query/explain/path/affected), the large-graph load cap, and the query test scripts.

These two docs are fetched on demand: skip them entirely unless the user specifically wants the Graphify graph, so the extra tooling never pollutes context during normal work.

How to pick

  • Writing or fixing a plugin? → se2-dev-plugin + se2-dev-game-code, with se2-dev-game-book read first if installed.
  • Reviewing a PluginHub-SE2 submission? → se2-dev-plugin, following its Review.md.
  • Need to understand how the game does X? → se2-dev-game-book first if installed, then se2-dev-game-code to confirm the specifics. Without the book, se2-dev-game-code alone.
  • Registering a client-side mod to Pulsar? → se2-dev-plugin, following its Guide.md.

Most non-trivial tasks pair the authoring skill with a reference skill: write with one, look up the game's internals with the other.

Plugin template

Generic wisdom

  • Stop and alert if the free disk space drops below 10GB on any partition you work on.
  • Avoid using long timeouts. Be conscious on the wall clock time spent on completing tasks.
  • To avoid wasting time, use monitoring scripts to poll for progress frequently, for example every few seconds.
  • Do not use inference for monitoring, only read the output and react when relevant events happen.
  • Always collect all evidence (logs, core dump, traceback) immediately, since log rotation and core dump cleanup may erase them.
  • Operating system temporary folders (like /tmp or %TEMP%) may not be preserved over reboots, do not store anything important there which you may want to retrieve later
  • On Linux the /tmp folder may consume memory (tmpfs), therefore do not store large files there.
  • Consult a Fable or Astra sub-agent if you need deep planning or facing a difficult question/issue.

Remarks