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

Reference Read in any order

Troubleshooting and removal

Reading the log, fixing the common failures, and backing it all out.

Almost every problem here is one of five things, and the log tells you which within about ten seconds of knowing what to look for. Start with the log, then find your symptom below.

Ten seconds

Read the log first

Quit the game, then open BepInEx\LogOutput.log in any text editor. It records the most recent run in full. ErrorLog.log beside it holds errors alone, which is usually the faster of the two to scan.

Both files are overwritten every launch

They only ever describe the last run. If you want to keep a record of a failure, copy the file somewhere else before launching again.

You are looking for a handful of landmarks. Where the sequence stops tells you which stage failed, and each one points at a different fix. The last two depend on which mods you installed.

LandmarkIf you see itIf you do not
BepInEx 6.0.0-be.785 Doorstop worked and the runtime started. BepInEx never ran at all. Jump to nothing loads.
Preloader started The loader is initialising. Something is wrong with the dotnet folder or core. Re-extract the archive.
Chainloader started Interop is in place and plugins are about to load. The interop build failed. Jump to no interop folder.
[UEZAI] v1.0.0 loaded by StixsworldHD (StixsmasterHD4k). The zombie AI works. Any remaining problem with it is a tuning question. BepInEx is fine and that mod is not loading. Jump to a mod does not load.
All 3 patch groups engaged. The box is now Ungodly. The mystery box works. This is its only confirmation — it writes no config file. Same as above, for the box.

Turn on the console if you have not already

Set Enabled = true under [Logging.Console] in BepInEx\config\BepInEx.cfg and you get all of this live in a window while the game loads, instead of after the fact. Full instructions.

Find your symptom

The failures that actually happen

The game launches normally and nothing loads at all — no console, no logs No log at all

No LogOutput.log anywhere means BepInEx never started, which means Windows never loaded the proxy DLL. In order of likelihood:

  • winhttp.dll is not beside Nazi Zombies.exe. This is the cause most of the time. Open the game root and confirm it is right there in the same folder — not one level up, not in a subfolder.
  • The archive extracted into a nested folder. If the game root contains a folder named after the ZIP, open it, move its six items up one level, and delete the empty folder.
  • You are looking at the wrong game folder. Use Steam → right-click the game → Manage → Browse local files to be certain.
  • Antivirus removed it. Check the quarantine list. A proxy DLL beside a game executable is the exact shape some products flag on sight. Restore it and exclude the game folder.
The game will not start at all now, or crashes on the splash screen Crash

First, confirm it is actually the mod: rename winhttp.dll to winhttp.dll.off and launch. If the game runs, BepInEx is involved; if it still crashes, the problem is the game itself and BepInEx is a bystander.

If it is BepInEx, the usual causes are a partial extraction (a missing dotnet folder is the classic one, and it is by far the largest part of the archive), or a 32-bit BepInEx build in a 64-bit game. This package is win-x64, which is correct for this game — but if you previously installed a different build, remove it completely before extracting this one.

Clean re-extraction fixes this nearly every time. Delete BepInEx, dotnet, winhttp.dll, doorstop_config.ini and .doorstop_version, then extract the archive again in one go.

There is no BepInEx\interop folder, or it is empty Interop

The interop layer is the generated managed mirror of the game, and nothing works without it. An empty or missing folder means the first launch did not complete.

The fix is almost always simply to let it finish. Delete the interop and cache folders if they exist, launch the game, and this time wait — a black window or a frozen splash for anywhere up to a few minutes is normal on this launch, and it is not a hang. Do not close it until you reach the main menu.

If it genuinely fails rather than being interrupted, check that BepInEx\unity-libs\2022.3.62.zip is present and around 3.5 MB. That file is the pre-seeded base library cache this package exists to provide; without it, BepInEx tries to download one and can fail offline or behind a firewall.

I closed the game during the first launch and now it behaves oddly Interrupted

A half-written interop folder produces strange, inconsistent symptoms — a mod that loads but does nothing, missing types in the log, or a crash partway through startup.

It is a clean fix. Close the game, delete both of these folders, then launch and let it run to the main menu without interruption:

  • BepInEx\interop
  • BepInEx\cache

Both are regenerated automatically. Nothing you configured is lost — your settings live in BepInEx\config, which you should leave alone.

BepInEx works but a mod never loads Plugins

If the log reaches Chainloader started but never mentions the mod in question, BepInEx is healthy and simply is not finding that plugin. Check in this order:

  • Is the DLL directly in BepInEx\plugins? A subfolder such as plugins\UngodlyMysteryBox\ will not be found.
  • Is it the DLL and not the archive? A .rar sitting in plugins is ignored entirely. Extract the DLL out of it.
  • Is the filename intact? Windows sometimes appends (1), or an archive tool produces .dll.dll. It must end in a single .dll.
  • Is the file the right size? 172 KB for the zombie AI, 23.5 KB for the mystery box. A file of a few hundred bytes is a failed download — check the SHA-256 on the downloads page.
  • Did antivirus take it? Same story as the loader. Check quarantine.
The mod loads but pressing F7 does nothing Input

If the load line is in the log, the mod is running and this is an input problem rather than an install problem.

  • Something else owns the key. Overlays bind function keys aggressively — Steam, Discord, GeForce Experience, OBS, Bandicam and MSI Afterburner are the usual suspects. Close them one at a time, or rebind.
  • Rebind it. Open BepInEx\config\UngodlyEmeraldZombieAI.cfg, find GuiToggleKey in the [GUI] section, set it to a free key, and restart. It can also be rebound live from the panel once it is open.
  • Try it at the main menu. The screenshots on this site were taken there, and it rules out anything in-match capturing input.
  • Check the config file exists at all. If UngodlyEmeraldZombieAI.cfg is missing, the mod never actually initialised, and the real problem is above.
The panel opens but the zombies behave exactly as they always did Behaviour

Check these in the panel, in this order:

  • ModEnabled in [General] — if this is off, the mod loads but deliberately does nothing.
  • ReplaceStockAI — off means the mod watches and fires its events without changing behaviour, which is a real mode intended for modders.
  • EnableInOffline / EnableInOnline — one of these governs the session you are in.
  • OnlyDriveAsHost — in online co-op only the host drives the brains. If you are a client, you are seeing the host’s AI through normal sync, which is correct and intended.
  • The header readout — if it says the mod has stood down after repeated internal errors, restart the level or the game to re-arm it, and check ErrorLog.log for what tripped it.

Also worth knowing: DriveSpecials is off by default, so special and boss zombies keep the stock AI on purpose. If you are watching a boss round, that is expected.

The mystery box still feels completely vanilla Mystery box

Because the box has no interface, the console is the only way to tell. Check the log for All 3 patch groups engaged.

  • If that line is absent, the DLL is not loading — work through the plugin checks.
  • If one group reports [SKIP], a game update renamed a target. That path runs vanilla while the others keep working. Check whether a newer version of the mod exists.
  • If you see it standing down for the session, the kill switch tripped after repeated faults and the box is deliberately back to 100% vanilla. Restart the game to re-arm it, and check ErrorLog.log for what caused it.
  • If the line is there and it still feels the same, buy a few more times. The change is statistical, not visual — there is no new animation or sound. Set logging to Debug in BepInEx.cfg and you will see a per-roll verdict naming the tier and the pity state.
I got the same weapon twice from the box Mystery box

Possible by design, and rarer than vanilla. The mod defers any weapon you already hold, or received in your last three grants, behind every fresh option left in the current bag cycle — but a bag’s final card can still be one you hold.

Duplicates are kept reachable on purpose: the game’s own weapon-grant call on a weapon you already have is its ammo refill path, so removing them entirely would remove a real use of the box. Across the author’s 400,000-roll validation there were zero back-to-back identical grants. The full model.

Can I play with friends who do not have the mystery box mod? Mystery box

Yes, freely, in either direction. The rolled box index was never synchronised over the network by the game — only the buyer’s own client ever reads it — and this mod keeps that contract exactly. No RPCs are added and no Photon messages are altered.

Each player simply gets their own client’s odds: yours are Ungodly, theirs are vanilla. Host or client makes no difference. Why this works.

Framerate drops on big endless waves Performance

Expected on the heaviest waves, and directly tunable. Turn on ShowOverlay and OverlayShowsPerf in [GUI] so you can see the budget pools rather than guessing, then work through the cheaper horde recipe.

The two settings with the largest effect are MaxBrainThinksPerFrame and FarThinkRate. If the think budget is pegged at its ceiling every frame, raising FarThinkRate — so fewer distant zombies ask for a think at all — helps more than lowering the budget does.

In online co-op the shove and the slows do not affect other players Co-op

That is the documented engine boundary rather than a bug. Direct player-body effects can only be applied by the machine that owns that player, so online they apply to the host’s own character (and to any client also running the mod, for their own body).

Damage itself is completely unaffected — it goes through the game’s own networked damage path like any stock hit, so the horde remains a genuine threat to everyone. The full co-op model explains why.

The game updated and now something is wrong Updates

Game updates can move things under a mod. Two outcomes are normal:

  • BepInEx rebuilds interop automatically. The first launch after an update is slow again, for the same reason the very first one was. Let it finish.
  • The mod stands down. If a patch renames or removes something it needs, it reports it and returns the zombies to the stock AI for the level rather than degrading your run. Check ErrorLog.log, and check whether a newer version of the mod has been released.

If the update was large, delete BepInEx\interop and BepInEx\cache and let them regenerate cleanly.

What to include

Reporting a problem

If you need to report something, these five things turn a guess into a diagnosis and are quick to gather:

  • BepInEx\LogOutput.log — the whole file, copied out before you relaunch.
  • BepInEx\ErrorLog.log — likewise.
  • The mod version — shown in the panel header: v1.0.0.
  • The game build — shown in the corner of the main menu.
  • Solo or online, and if online, whether you were hosting.

Turn on the wiring report first

LogWiringReport in [Debug] prints a startup audit listing every setting and confirming that live code actually reads it — the mod checking its own homework. Combined with VerboseLog, it makes a log far more useful to whoever reads it.

Two steps

Updating a mod

Close the game and replace the DLL

Delete the old DLL from BepInEx\plugins and put the new one in its place. A DLL cannot be overwritten while the game holds it open, which is the only reason step one is to close the game. Updating one mod never affects the other.

Decide what to do with your settings

This step only applies to the zombie AI; the mystery box has no settings to carry over, so replacing its DLL is the entire update.

To keep them: leave UngodlyEmeraldZombieAI.cfg alone. A new version adds any settings it introduced and preserves anything it no longer recognises at the end of the file, so nothing is silently lost.

To start fresh: delete UngodlyEmeraldZombieAI.cfg. The next launch writes a complete new one at defaults.

BepInEx itself does not need reinstalling to update the mod, and there is no need to touch interop unless the game updated.

Fully reversible

Removing everything

Nothing here modified a game file, so removal is simply deleting what you added. Pick the depth you need.

Turn the zombie AI off without uninstalling

Set ModEnabled = false in [General], or open the panel and flip it. The stock AI runs exactly as shipped, and you can flip it back mid-wave. The mystery box has no such switch, because it has no settings — to disable it, remove its DLL.

Remove a mod, keep BepInEx

Delete its DLL. For the zombie AI you can optionally delete its config too, if you do not plan to come back; the mystery box has nothing else to remove, and nothing of it persists anywhere.

Delete whichever applies
BepInEx\plugins\UngodlyEmeraldZombieAI.dll
BepInEx\config\UngodlyEmeraldZombieAI.cfg   (optional)

BepInEx\plugins\UngodlyMysteryBox.dll

Removing one mod has no effect on the other.

Remove BepInEx as well, leaving a stock game

Delete these five items from the game root. Everything else in that folder shipped with the game and must stay.

Delete these from the game root
BepInEx\            (the whole folder)
dotnet\             (the whole folder)
winhttp.dll
doorstop_config.ini
.doorstop_version

changelog.txt also came from the archive and is harmless either way. If you would rather not delete files at all, renaming winhttp.dll to winhttp.dll.off disables the entire loader instantly and is trivially reversible.

Your saves are never involved

Nazi Zombies_Data and savedata are never written to by either the loader or the mod. After removal the game is byte-identical to a stock install, and Steam will not report anything as changed.

One more thing

Still stuck

The cleanest reset is a full reinstall of both pieces in order, because it eliminates every partial-extraction and interrupted-first-launch problem at once. Remove everything as above, then start again from stage one — and this time let that first launch reach the main menu on its own.

Back to the start