UNGODLY

Mod Series — Installation Manual

UngodlyAI v2.17.0 · UngodlyBallistics v3.0.0 · UngodlyGFX v1.0.0 · Killstreak Announcer v1.1.0

by StixsworldHD (StixsmasterHD4k)

Phase Two · Plugin 1 of 3

UngodlyAI v2.17.0

UNGODLYAI v2.17.0 — Ungodly Madly Vastly Enhanced AI & Pathfinding Overhaul
Plugin DLL
StixsworldHD.EasyRed2.UngodlyAI.dll
GUID
com.stixsworldhd.easyred2.ungodlyai
Config file
com.stixsworldhd.easyred2.ungodlyai.cfg
In-game window
F6 — rebindable, settings apply live

Vanilla Easy Red 2 runs exactly one soldier brain per rendered frame for the entire battlefield — on a 200-bot map, each bot re-evaluates once every ~3+ seconds. UngodlyAI multiplies the game's own scheduler under a hard CPU budget, then rebuilds what those brains actually do: strategy, squad orders, radios, kit, vaulting, and eyes that respect night, fog and smoke. Every hook was verified against the game's own v2.0.6 code via IL2CPP disassembly and interop reverse-engineering.

What it changes

Install

REQ

Prerequisite: BepInEx 6 Bleeding Edge (IL2CPP x64) installed and run once. If BepInEx\plugins\ does not exist yet, do that page first.

Field Order 01Open the mod archive

Grab ER2_UngodlyAI_v2_17_0_StixsworldHD.rar from the Downloads page and open it (WinRAR, 7-Zip, PeaZip — anything that reads RAR). Inside you'll find exactly two files:

ER2_UngodlyAI_v2_17_0_StixsworldHD.rar
|- StixsworldHD.EasyRed2.UngodlyAI.dll     <- the entire mod
'- README_INSTALL.txt                        <- full manual & settings reference

Field Order 02Drop the DLL into plugins

Extract (or drag) the DLL so it lands here — directly in plugins, no subfolder needed:

Easy Red 2\BepInEx\plugins\StixsworldHD.EasyRed2.UngodlyAI.dll
Windows Explorer showing the three Ungodly plugin DLLs inside BepInEx\plugins
The reference plugins folder with all three Ungodly DLLs installed. UngodlyAI alone is just the single DLL — the other two are optional companions. (Reference shot from the v2.4.0 install; the v2.17.0 DLL is 288 KB.)

Field Order 03Launch and verify

  1. Start the game. In any menu or match, press F6 — the UngodlyAI window opens (solid, readable background; drag it by the title bar).
  2. Or check BepInEx\LogOutput.log for both of these lines:
"UngodlyAI - Ungodly Madly Vastly Enhanced AI & Pathfinding Overhaul v2.17.0"
"Harmony patch groups: 9 applied, 0 failed."

On its first launch the plugin also writes its fully-commented configuration file to BepInEx\config\com.stixsworldhd.easyred2.ungodlyai.cfg — around 50 KB of the same explanations the in-game hover panel shows, so you can tune from a text editor too.

UngodlyAI in-game configuration window on the Overview tab
UngodlyAI (F6) — Overview tab with master systems, one-click presets, live status readout and the UngodlyBallistics v3.0.0 LINKED line. (Screenshot from v2.4.0 — later versions add live map-guns, looting, cover-cycle, counterattack and melee counters to this tab.)

The in-game window (F6, rebindable)

Multiplayer — safe by ownership, not by trust

MP

Easy Red 2 simulates each bot on exactly one machine — the Photon owner of that unit (the host for world bots, each player for their own squad). UngodlyAI applies every behavior change only inside the simulation of bots your machine owns, using the game's own ownership gate. Other players simply receive the normal Photon position/state sync they always did.

Consequences: no desync is possible by construction; mixed lobbies work in every combination (modded host + vanilla clients, vanilla host + modded clients); as a client you enhance your own squad's bots, as host you enhance all world-spawned bots; and the vanilla online-teleport cheat is blocked by default (AiTeleportPolicy = BlockInMultiplayer).

One looting footnote (v2.6.0): looting transfers run inside the owner's authoritative simulation like everything else, but the game ships no dedicated corpse-pickup RPC — so a remote client may briefly keep rendering an item that was already taken from a body. Cosmetic only; no gameplay state diverges.

Performance notes

Extra AI thinking is governed by BrainFrameBudgetMs with a hard stop; the stuck watchdog is time-sliced (default 12 bots/frame); the per-soldier state store is allocation-free on hot paths. On a weak CPU, open the GUI → Overview → POTATO SAVER, or lower BrainTicksPerFrame manually — even a value of 3 is a night-and-day improvement over vanilla.

Disable / uninstall

Get the archive →Next plugin: UngodlyBallistics →