Skip to content
Minh edited this page Aug 16, 2026 · 3 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? [ Config system TODO ADD LINK ], [ HUD modules TODO ADD LINK ]

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: [ Config system TODO ADD LINK ]

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 TODO ADD LINK ]

Need help?

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

Clone this wiki locally