Ungodly Nazi Zombies Install guide · BepInEx 6 + two mods
6.0.0-be.785 v1.0.0

Step 5 of 6 Board up the window

Install the mods

Two plugins, the same three moves each. Install either, or both.

Both mods install the same way, because a BepInEx plugin is always the same three moves: get the DLL out of the archive, put it in BepInEx\plugins, launch the game. They are independent of each other — take one, the other, or both.

Do not start this page until stage one is finished

Plugins go into BepInEx\plugins, and that folder only exists once BepInEx has been extracted. More importantly, both mods need the interop layer that the first launch generates — without it a DLL loads into nothing and silently does no work. If you have not yet launched the game once with BepInEx installed and reached the main menu, go back to the first launch and do that now.

Applies to both

The procedure, once

Close the game

Not minimised, not sitting on the main menu. A DLL cannot be written while the game holds it open, which matters most when you come back to update a mod later.

Extract the DLL out of the archive

Anywhere convenient — your Downloads folder is fine. You only ever need the .dll out of a mod archive; the documentation files that come with it are for reading, not installing.

If double-clicking a .rar does nothing, you do not have a tool that reads RAR archives. 7-Zip is free and takes a minute to install.

Copy it into BepInEx\plugins

Directly into that folder. Not into a subfolder, not still inside the archive.

Where every plugin goes (example path)
F:\SteamLibrary\steamapps\common\Nazi Zombies\BepInEx\plugins\

The two mistakes that account for almost everything

An archive in the plugins folder does nothing. BepInEx loads .dll files; a .rar sitting there is ignored entirely, producing a game that launches perfectly and a mod that never appears.

A folder in the plugins folder does nothing either. plugins\UngodlyMysteryBox\UngodlyMysteryBox.dll will not be found. The DLL sits directly in plugins.

Both mods in one folder is normal

If you install both, BepInEx\plugins holds two DLLs side by side. They load independently, patch entirely different parts of the game, and neither is aware the other exists. There is no load order to worry about and no conflict to manage.

Optional

Part one — Ungodly Emerald Zombie AI

Open UngodlyEmeraldZombieAI_v1_0_0.rar. Three files, sitting loose at the top level — there are no folders inside this archive at all.

UngodlyEmeraldZombieAI_v1_0_0.rar — 3 files, 64.8 KB

  • UngodlyEmeraldZombieAI.dll 172 KB — install this one
  • INSTALL.txt Short install notes. Keep or discard.
  • README.md The full technical readme. Worth reading; not installed.

Ignore one line in INSTALL.txt

INSTALL.txt tells you to drag a BepInEx folder from the archive into the game folder. This archive has no such folder — it is the three files above and nothing else.

What that instruction means in practice is the line directly beneath it, which is correct: UngodlyEmeraldZombieAI.dll goes into <game>\BepInEx\plugins\. Put the DLL there yourself and you have done exactly what it intended.

What happens on the next launch

Watch for this line in the BepInEx console as the game loads. It is the mod announcing itself, and it is the definitive confirmation that the DLL was found, loaded and initialised:

BepInEx console · the zombie AI
[UEZAI] v1.0.0 loaded by StixsworldHD (StixsmasterHD4k).

On this launch the mod also writes its own configuration file. You do not create it, and you should not write one by hand — it is produced by the mod’s own serializer, which is why it can never drift out of step with what the code actually reads.

<game root>

  • BepInEx
  • config
  • BepInEx.cfg from stage one
  • UngodlyEmeraldZombieAI.cfg 41 KB — written on this launch, all 161 settings
BepInEx\config after the zombie AI has run once — the mod writes its own .cfg

Then press F7 from the main menu or in a match.

The panel open over the main menu, showing the Lunge ability tab

That window is the whole configuration surface: every one of the 161 settings, grouped into the same 17 tabs the config file uses, with a slider or a toggle, the accepted range, the default, and an explanation on every row. Changes apply live — you do not need to restart to feel them.

The cursor is handed back

While the panel is open the mouse is freed and visible. When it closes, control returns to the game’s own cursor code and the pointer is re-centred, so you do not get stuck with a loose cursor mid-round.

Search, if you know the word

The search box filters across all 161 rows — type part of a setting name or a word from its description.

Save, reload, or reset

Save writes the file. Reload File picks up edits made in a text editor. Defaults (Tab) and Defaults (All) undo experiments.

Rebind the key

F7 clashing with something? The GUI tab has GuiToggleKey, and it rebinds live.

All 161 settings

Optional

Part two — Ungodly Mystery Box

Open UngodlyMysteryBox_v1_0_0.rar. Two files, and again they sit loose at the top level.

UngodlyMysteryBox_v1_0_0.rar — 2 files, 17.1 KB

  • UngodlyMysteryBox.dll 23.5 KB — install this one
  • README.md The full technical readme. Worth reading; not installed.

Ignore one line in this README too

The install section of README.md says the archive already contains a BepInEx/plugins/ layout you can merge into the game directory. It does not — this archive is the two files above, flat, with no folders in it at all.

The instruction still resolves to the right thing: put UngodlyMysteryBox.dll into <game>\BepInEx\plugins\ yourself.

There is nothing to configure

No settings file, no panel, no key to press. The mod works out weapon rarity tiers for each map on its own and scales your odds with the wave automatically, so it ships with no GUI and no config file at all. Once the DLL is in place you are done with it forever.

What happens on the next launch

Because there is no panel and no config file to appear, the console is how you confirm this one is working. Two lines, at Info level, which is the default:

BepInEx console · the mystery box
Roll engine online. Session entropy seed: 0x…
All 3 patch groups engaged. The box is now Ungodly.

All 3 patch groups engaged is the one that matters. The three groups are the interact purchase path, the public API purchase path, and the suppression of the vanilla 50 Hz re-roll. They apply independently, so if a future game update ever renames one target, that group alone reports [SKIP] and runs vanilla while the rest keeps working.

After that, the next thing you will see is a census line the first time each box in the map is used — the mod reading that box’s weapon pool and sorting it into 5 rarity tiers. There is one census per box, and it happens once.

Want to watch it roll?

Set the log level to Debug in BepInEx\config\BepInEx.cfg and the mod additionally prints the full per-tier weapon list at census and a one-line verdict for every roll — tier, weapon, and current pity state. It is genuinely interesting to watch for a round, and noisy after that.

Then just play

There is no further step. Buy from the box and the difference shows up immediately: no more flat equal odds, no more dud-as-likely-as-the-sniper, and a pity counter quietly making sure a bad streak cannot run away from you.

How the box decides

Check

What the plugins folder looks like now

One DLL if you installed one mod, two if you installed both. Nothing else belongs here.

<game root>

  • BepInEx
  • plugins
  • UngodlyEmeraldZombieAI.dll 172 KB — if you installed the zombie AI
  • UngodlyMysteryBox.dll 23.5 KB — if you installed the mystery box
BepInEx\plugins with a plugin in place

This screenshot predates the second mod

It was taken with only the zombie AI installed, which is why it shows a single file. If you installed both, you will see UngodlyMysteryBox.dll listed alongside it at 23.5 KB. Everything else about the folder is identical.

Next

Confirm it

The next page puts every screenshot side by side so you can check your install against a known-good one at a glance, and lists the exact log lines each mod writes.

Verify the install