Skip to content
Minh edited this page Aug 16, 2026 · 2 revisions

Intro

Thorn is meant to be a collection of (small) utilities and HUD indicators. To support this, it includes a configuration system built from the ground up with a compact UI to scale with a huge number of (micro-)modules, and a flexible widget system. This page will help you decide whether Thorn is for you as a developer.

Wanna start right away? Modules/Config, HUD modules

Config system

  • Cool things:

    • It features a compact hack-client-like UI that makes tuning settings fast and observable live
    • Keybinds made simple: It's possible to have modifiers (like Ctrl+C) in one bind, and you can easily subscribe directly to the keybind, instead of having a raw KeyCode you have to check yourself
  • Downsides:

    • It's not purely a config system, as we ship a range of modules by default. But there's module search, so your config entry will always be accessible when needed.
    • Thorn is quite new, so you could say it's not as mature/time-tested as PluginConfig or Configgy.
  • A non-exhaustive comparison between Thorn and the other two config systems. Please remember that checkmark count is not a good scoring metric in this kind of comparison table...

Feature Thorn PluginConfigurator Configgy
Open source license LGPL3 MIT No license
Config format JSON Newline-separated key-value pairs BepInEx (TOML-like)
Config hot reload
Custom UI
Compact UI w/o fullscreen panel
Purely a config system
Supports presets
Documentation

* Bold indicates superior text item. BepInEx config has the bonus of being editable through mod managers like r2modman.

Is Thorn for you? Start here: Modules

HUD system

To date, Thorn is the only HUD system library we know of for ULTRAKILL. If you're looking to create HUD elements that are freely draggable and can be anchored to the sides, try it!

HUD Modules

Need help?

Come talk to @end_4 (or just ask around) in the ULTRAKILL Modding Discord server

Clone this wiki locally