UltraBeat
Turn ULTRAKILL into a rhythm game
About this mod Author’s original text
UltraBeat
🎵 A mod that syncs various events in ULTRAKILL to the beat without requiring you to actually do anything to the beat. It handles the timing for you:)
If the mod comes across a song it doesn't have a map for the game will go back to default behaviour
Features
- Default revolver reloads in sync to the beat (you'll quickly realise why the alt revolver doesn't)
- Freeze-frame unfreezes in sync with the beat
- Splits freeze frames into long and short
- Short freeze frame waits for minor beats (Projectile parrying)
- Long freeze frame waits for major beats (All other freeze frames)
Installing
Install r2modman and install the plugin through there
Manual install
Place UltraBeat in ULTRAKILL/BepInEx/plugins.
Adding new beat maps
Currently mapped songs can be found here: When the mod runs for the first time it will automatically download all maps found in that directory.
If you would like to add your own song mappings, simply add a new json file to ULTRAKILL/BepInEx/config/UltraBeat. The json file should be the exact name of the song you are mapping.
Mapping tutorial
UltraBeat expects the name of a song mapping to be exactly the same as the name of the song in game. For example, Meganeko - The Cyber Grind is split into two songs:
- The Cyber Grind - Final Version 1 (Intro only)
- The Cyber Grind - Final Version 1 (seamless loop without intro)
So to fully map this song, you would have to create two different json files for each of these songs.
Json Format:
Below is an example json file:
{
"offset": 0,
"bpm": 120,
"maps": {
"base": [1,1,1,1,1,1,1,1,1],
"freeze_short": [1,0,1,0,1,0,1,0,1],
"freeze_long": [1,0,0,0,1,0,0,0,1],
"fast": [1,0,1,0,0,0,1,0,1]
}
}
This would definitely be too short for a full length song. To know how many beats you need, multiply the length of the song (in minutes) by the bpm. So a 3 minute song would need: 3*120=360 beats.
If you want higher precision, multiply the bpm by some multiple. To map half notes, the bpm needs to be at least twice the base bpm. To map quarter notes, it needs to be at least four times the base and so on.
Mapping software
I built some mapping software a few years ago. The format differs, but it's trivial to convert to the json format found here. Download the executable from releases:
Install & use Install: BepInEx plugin
- The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
- Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
- Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
- Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.
Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file.
Install these first, or the mod will not work: