✦ ULTRAKILL game center

ULTRAKILL r2modman: plugin setup and profile testing

Use r2modman ULTRAKILL profiles to test plugins safely: verified installs, protected save files, a careful config editor workflow, and an unmodded comparison.

GameFor: ULTRAKILL players adding gameplay plugins, editing configuration, or protecting saves and challenge progress.Updated September 13, 2026
01

What a single-player mod setup changes

ULTRAKILL r2modman support comes from the Thunderstore community at thunderstore.io/c/ultrakill/ rather than a fixed built-in list. The manager tracks Thunderstore communities, and since version 3.2.17 it can add supported games automatically, so the set of games you can select grows over time. Because ULTRAKILL is a single-player game, there is no lobby to synchronise and no version to match with anyone else, which makes a profile purely local. The community still has to exist, and the profile still needs its loader pack installed and enabled before the modded entry point does anything at all.

02

Install the loader, prove it, then add plugins

Select the game, create a profile, and on the Online tab install the package carrying the blue Pinned tag — normally the loader pack. Launch through Start modded and confirm the game reaches the menu before you add anything else; a loader-only launch is the smallest useful proof that the runtime works. Then add one plugin with a visible effect and test it. Once that behaves, add the rest in small batches and launch between batches. Downloading a long list first and then hunting for the broken entry is slower than growing a baseline that already works.

03

Verify a plugin by its documented trigger

Reaching the title screen does not prove a gameplay plugin loaded. Read the package README, then test the exact level, weapon, or action it says it changes. If nothing happens, check the loader log for the package name and the first exception it reports, and confirm the package is enabled in Installed rather than merely downloaded. Where the README names a dependency, verify that it is present and enabled too; a plugin that starts without its library can fail quietly, which usually leaves you blaming a package that is working correctly.

04

Keep saves out of the blast radius

Game saves live outside the mod profile, so a profile export is not a save backup and cannot restore progress or challenge records. Before testing packages that change mechanics, progression, or level state, copy the Saves folder yourself. ULTRAKILL writes it inside its own install directory, not into your user profile: right-click ULTRAKILL in Steam → Manage → Browse local files, and the folder sits next to the game executable. On a Deck that is /home/deck/.local/share/Steam/steamapps/common/ULTRAKILL/Saves, or /run/media/mmcblk0p1/steamapps/common/ULTRAKILL/Saves when the game is on a microSD card. It is not inside the Proton prefix, so looking under compatdata finds nothing — copy it somewhere outside the game folder and put it back only if you need to roll back. Test uncertain plugins in a separate test profile built from an export, and keep one profile with no packages for comparison. If a plugin turns out to be unwanted, disable it in Installed and relaunch rather than deleting the profile, so the rest of your setup survives the experiment intact.

05

Change configuration one value at a time

The config editor exposes supported configuration files, including .cfg and YAML, without making you hunt through folders. Before editing, note the profile name, the package version, and the original value. Change one setting, save, and launch; several simultaneous edits make it impossible to say which value caused the new behaviour. Some mods keep their settings in custom formats that never appear in the editor at all, and an empty editor does not mean a mod is unconfigurable. When a change goes wrong, restore the original value rather than deleting the package and starting over.

06

Stop the console window swallowing input

If a terminal window opens when you launch as modded, it can take controller input before the game receives it, which is noticeable in a game built around fast, precise movement. BepInEx writes its configuration files on the first modded launch, so start the game once, open the BepInEx core config in the config editor, disable the console, and save before relaunching. If no config exists yet, the game has not completed a modded start. For performance or input questions, compare against a no-package profile so you can separate a plugin's effect from the game itself.

✦ Frequently asked questions

Common questions, answered directly.

Why does an installed ULTRAKILL mod do nothing?

Check that you launched with Start modded, that the package is enabled in Installed rather than only downloaded, and that any dependency it names is present. Then read the loader log for the package name and its first exception, and test the exact in-game trigger the README describes.

Can an ULTRAKILL mod affect my save data?

Gameplay packages can change progression or level state, and saves are stored outside the mod profile. Copy your saves before testing anything that alters mechanics, and keep experiments in a second profile so the setup you normally play stays untouched.

Should I install loose DLLs manually?

Prefer a published package, which carries version and dependency metadata the manager can read. When a local build is the only option, keep it in its own profile, write down its source and loader requirement, and expect no update notifications for it.

Does r2modman support ULTRAKILL on Linux?

The manager runs on Windows and Linux, and Linux builds are available as an AppImage and as distribution packages. Whether modded ULTRAKILL launches correctly still depends on the loader, your Proton configuration, and the individual plugin, so test a loader-only profile before adding a full set.

How do I undo a configuration change?

Restore the original value you recorded, or disable the package in Installed and relaunch. If you did not record the original, reinstalling that package restores its default configuration. Editing one setting at a time, and writing down what you changed, avoids this problem entirely.

r2modman manages a game once its Thunderstore community and a compatible loader exist, so the supported list grows with Thunderstore. Packages install per profile, which keeps two different mod sets for the same game apart.

Next: open the Online tab, install the community's loader pack with Pinned beside its name, then add the packages tagged for the game version you are on.