Field Repairs
Troubleshooting
Work top to bottom — the failures are ordered by how often they actually happen. Nearly everything traces back to one of two roots: the wrong BepInEx build, or files not sitting next to the game exe.
Loader problems
Game launches, but completely vanilla — no console, no LogOutput.log
- Files in the wrong place.
winhttp.dll,doorstop_config.ini,BepInEx\anddotnet\must sit in the same folder asEasy Red 2.exe. The classic mistake is a folder-inside-a-folder from extracting the zip into a new directory. Compare against the Check 1 screenshot. - Wrong package. It must be
BepInEx-Unity.IL2CPP-win-x64-6.0.0-be.###— the Mono build, the NET.Framework build, BepInEx 5.x, or the x86 package all fail silently on this game. Re-check on the BepInEx page. - Antivirus ate the injector. If
winhttp.dllis missing from the game root after extraction, restore it from quarantine and exclude the game folder.
First launch seems to hang for minutes
Not a hang — BepInEx is generating interop assemblies from the game's 45 MB
GameAssembly.dll. Let it finish; it only happens on the first run and
again after game updates. Details in
Field Order 04.
[Warning:Il2CppInterop] Class::Init signatures have been exhausted, using a substitute!
Printed by the BepInEx/Il2CppInterop core during startup, before any plugin loads — it appears even with an empty plugins folder. It is BepInEx resolving an internal engine signature for this Unity version, is expected on Bleeding Edge builds, and is harmless. It does not come from — and cannot be silenced by — any Ungodly plugin.
Plugin problems
No F6 / F7 / F8 window in-game
- Confirm BepInEx actually runs:
BepInEx\LogOutput.logmust exist and grow with each launch. If not, fix the loader first (section above). - Confirm the DLL location: each plugin must sit directly at
BepInEx\plugins\StixsworldHD.EasyRed2.<Mod>.dll— see Check 3. - Search the log for the mod name. UngodlyAI:
"Harmony patch groups: 9 applied, 0 failed."= all good. UngodlyGFX: look forUngodlyGFX … is live. UngodlyBallistics: 18 patches listed on load. - Interop generated after the plugin? If you dropped a DLL in before ever running the game with bare BepInEx, just launch again — but the recommended order is always: install loader → run once → quit → add plugins (Order of Operations).
- Rebound the key and forgot? Each mod's current toggle key is stored in its
.cfginBepInEx\config\(GuiKey) — check or reset it there.
“Bots almost never throw smoke, and AT grenades never come out against armor”
You're running UngodlyAI v2.11.0 or older. Two stacked bugs — a shared 18-second grenade clock that combat keeps permanently hot (fixed in v2.11.1), and an orphaned-class discovery deeper down (fixed in v2.11.2): the game never actually constructs the smoke/AT grenade classes the mod had type-checked against since v2.1.0, so those behaviors were structurally dead regardless of settings. Update to the current DLL from the Downloads page — no config changes needed, the fix is automatic.
“A patch group reports FAILED after a game update”
Every patch group in every Ungodly mod is independently guarded; the rest keep working. A game patch that renames a method disables only that group. Grab an updated mod build, or keep playing with the remaining systems. (UngodlyGFX additionally logs a single stack-traced line and shows a red banner in its GUI for the affected section, while everything else keeps applying.)
Log shows Brain tick paused 5s (UngodlyAI)
The built-in circuit breaker reacting to a scene teardown mid-frame — harmless, auto-recovers.
Hand-typed a wild value into a .cfg
Every slider hard-clamps to its documented min/max; out-of-range values typed into the cfg are
clamped by BepInEx on load. Delete a mod's .cfg to regenerate factory
defaults on next launch.
UngodlyGFX specifics
- “Nothing to boost” for AO — the ambient-occlusion boost retunes whichever method the vanilla Settings menu selected. If vanilla AO is Off, pick SSAO or GTAO there first.
- A value keeps snapping back — that's the game re-applying its own settings;
UngodlyGFX re-asserts within
ReassertSeconds(default 5). Lower it, or hit Apply now. - Supersampling too heavy — lower the render-scale override toward 100 (or 0 to hand render scale back to vanilla) and let the enhanced shadows/AO/post-FX carry the look. The POTATO RESCUE preset is the one-click version of this advice.
- Verbose logging — enable
[1. Master] VerboseLogging(or the Info & MP tab) to log a one-line summary of every apply pass.
Killstreak Announcer specifics
- No sounds at all — the
KSoundsfolder must be in the game root next toBepInEx, not inside it. Check the log forKSounds folder not found— it prints the exact path it looked at. A healthy load logsIndexed 701 sound files across 50 event categories (0 unmapped). - Mod not loading — same loader rules as everything else here: BepInEx 6
IL2CPP x64, DLL under
BepInEx\plugins\(a subfolder is fine for this one). Look for the announcer banner in the log. - A callout feels too frequent / too rare — adjust that category's cooldown
or
…At/…Everythreshold in the .cfg. Remember there's no in-game menu by design — edit with the game closed, then relaunch. - Wrong win/loss called — the result is read from the game's end-of-battle
data with a fallback to your last known lead state; set
VerboseLogging = trueto see what it detected.
UngodlyAI performance tuning
Weak CPU? Open F6 → Overview → POTATO SAVER, or lower
BrainTicksPerFrame / the budgets manually — even
BrainTicksPerFrame = 3 is a night-and-day improvement over vanilla. The
footer's live “extra ticks” millisecond readout shows exactly what the brain boost
costs on your machine.
Multiplayer questions
- “Will I desync a lobby?” No — by construction, not by promise. Each mod's page has the full technical explanation: AI (Photon ownership gate), Ballistics (shooter-authoritative, deterministic), GFX (render-state only, zero wire traffic).
- Strict tournament parity: UngodlyBallistics has
[11. Performance & MP] DisableInMultiplayer = true— hard reverts to stock inside any Photon room, re-arms when you leave.
Clean removal, fastest to fullest
- One mod off, keep the rest: flip its master switch in the GUI (loads, touches
nothing), or delete its single DLL from
BepInEx\plugins\. - Everything off, keep installed: delete or rename
winhttp.dllin the game root — the entire stack disarms. - Full clean: delete
winhttp.dll,doorstop_config.ini,.doorstop_version,changelog.txt,BepInEx\anddotnet\. Copy your.cfgfiles out ofBepInEx\config\first if you want to keep your tuning.