Operating the Controls
Configuration & the In-Game Window
There are two ways to tune the overhaul, and they’re the same data: the in-game F6 control panel, and the generated com.stixsworldhd.tpm.ungodlyai.cfg file. This page explains the window, the file, what all 67 settings across 13 sections control, the Difficulty Director modes, and how to rebind the hotkey.
Same data, two doors
Two ways to change everything
The window and the file are generated from one shared schema, so they never drift apart — edit either,
and the other reflects it. 1.0 almost always means “vanilla / unchanged”.
In-game window — F6
Press F6 any time (menu or in-museum). Best for live tuning: every change applies the instant you make it and auto-saves a second later. No restart, ever.
Config file — .cfg
Edit BepInEx\config\com.stixsworldhd.tpm.ungodlyai.cfg with the game closed. Best for setting
up a profile in advance, or copying settings between installs. Standard BepInEx format.
The panel is a fast, self-contained window the mod draws itself — solid, opaque and readable, with no see-through clutter over your museum. Here's what's in it:
13 section tabs
Down the left side; click to switch between the thirteen setting groups. Mouse-wheel scrolls through the active tab's settings.
Draggable
Grab the title bar to move it anywhere on screen. It stays put while you play.
Per-setting controls
On/off settings are toggles; numbers use − / + steppers and a type-in box (auto-clamped to range); the Difficulty mode is a ◀ / ▶ cycler.
Plain-English help
Every setting shows a gamer-friendly explanation and its min–max range right there next to the control — you never have to guess what a value does.
Master MOD ON / OFF
A big toggle in the title bar flips the entire overhaul back to 100% vanilla and back again — live, no restart.
Footer buttons
Save Now, Reset Section, Reset ALL and Close. Changes also auto-save a second after your last edit.
🛠️Why steppers instead of sliders?
Museum's IL2CPP build was aggressively stripped of Unity's high-level IMGUI helpers — no sliders, no
scroll-views, no runtime GUIStyle/GUIContent/Texture2D
constructors survived. The panel is built only from the primitives that did, which is why it uses
steppers + type-in boxes. It's toggled through the IMGUI event stream rather than by polling
UnityEngine.Input, so F6 works whether the game uses the legacy Input
Manager or the new Input System.
BepInEx\config\com.stixsworldhd.tpm.ungodlyai.cfg is a standard BepInEx config file, generated
on first run. Every entry is self-documenting — it carries a description, its type, its default, and its
acceptable range. A representative entry looks like this:
## Settings file was created by plugin StixsworldHD Ungodly AI… v1.0.3
[00 - General & Difficulty Director]
## Master switch. Off = the whole overhaul is dormant (100% vanilla).
# Setting type: Boolean
# Default value: true
ModEnabled = true
## Key that opens the in-game settings window.
# Setting type: KeyCode
# Default value: F6
ConfigMenuHotkey = F6
## Difficulty Director behaviour. See the modes table.
# Setting type: String
# Default value: Off
# Acceptable values: Off, Relax, Adaptive, Hardcore, Custom
DifficultyMode = Adaptive
📝Editing safely
Edit the file with the game closed (or use the in-game window while playing — both
write the same file). Out-of-range numbers are clamped to the listed range on load, so you can't break
anything by typing an extreme value. To start fresh, delete the .cfg and relaunch — it
regenerates at defaults.
The full map
All 13 sections at a glance
The 67 settings across 13 sections are organised into thirteen groups — the same tabs you see in the window, the same headers you see in the file.
| # | Section | What it controls |
|---|---|---|
| 00 | General & Difficulty Director | Master switch, menu hotkey, “apply balance overrides” switch, and the full Dynamic Difficulty Director (mode, target happiness, band, aggression, interval, max need/energy squeeze, max income swing, allowed layers). |
| 01 | Guest Need Rates | Per-need build-up speed — Food/Hunger, Drink/Thirst, Toilet, Energy, Entertainment, Litter, Environment — plus an “all needs” master multiplier. |
| 02 | Guest Behaviour & Satisfaction | Warning-threshold, urgent-threshold, need-importance and need-capacity multipliers. |
| 03 | Knowledge, Buzz & Prestige | Enable switch, exhibit knowledge-level multiplier, knowledge-gain, theme-knowledge-gain and prestige-gain multipliers. |
| 04 | Research & Studies | Enable switch and a research-speed multiplier for your experts. |
| 05 | Staff Wages & Retention | Global wage multiplier, plus desired-salary scaling (enable + amount). |
| 06 | Staff Coverage & Movement | Optional static staff movement-speed multiplier (enable + amount). |
| 07 | Items, Maintenance & Hazards | Exhibit/equipment wear-speed multiplier (enable + amount). |
| 08 | Economy & Finance | Income multiplier, sell-value multiplier, ticket-price override (enable + price), one-time starting grant (enable + amount), monthly stipend (enable + amount). |
| 09 | Performance | Verbose logging toggle and the shared helper update interval. |
| 10 | Staff Coverage Helper | The dynamic coverage system — enable, base boost, busy boost, guests-per-staff “busy” point, max boost. |
| 11 | Crime & Security Helper | Enable, auto-reveal, reveal interval, reveals-per-pass, auto-evict, suppress-raids. |
| 12 | Auto Pay Raise Director | Enable, update interval, raise threshold, overpay buffer, max raise per step, quiet mode. |
A closed control loop. On its interval it reads your museum's real KPIs — average guest happiness (falling back to museum rating, lightly blended with staff happiness) — and turns the gap to your target into a single signed “intensity”. That's smoothed for stability, then mapped onto three live layers it may push: guest need decay, energy drain and museum income (it eases your wallet when it makes the museum harder, and vice-versa). You choose how it behaves with the mode:
| Mode | Direction | Best for |
|---|---|---|
| Off | — | The director does nothing; only your manual settings apply. |
| Relax | Eases only | One-way: it will only ever ease the museum when guests struggle, never make it harder. Casual / builder play. |
| Adaptive | Both ways | Rubber-bands up and down to hold average guest happiness inside your target band. The “set it and forget it” mode. |
| Hardcore | Ratchets up | Treats your target as a comfort floor and pushes difficulty up the better you do, relenting only as you near that floor. |
| Custom | Both ways | Uses your Target / Band / Aggression numbers exactly, in both directions. |
You also control the target, dead-band, aggressiveness, update cadence, the maximum squeeze on needs and energy, the maximum income swing, and which of the three layers it's even allowed to touch.
The live helpers
The other three real-time systems
Each runs on its own configurable interval and is safe to leave on — they do nothing when there's nothing to do.
Staff Coverage Helper · §10
Measures how under-served the museum is (guests per staff) and gives all staff a real-time speed boost that scales with that pressure — so they arrive faster exactly when it matters. Only ever speeds up, hard-capped, re-asserted every pass. Set the base boost, busy boost, the guests-per-staff “busy” point and the max boost.
Crime & Security Helper · §11
Works through the game's own CrimeManager. Auto-reveals disguised
thieves a few per pass so guards can act on them — the biggest anti-theft win. Can optionally
auto-evict revealed criminals before they steal (off by default) or suppress raids. Does nothing when
there's no crime. You set the reveal cadence and count.
Auto Pay Raise Director · §12
Walks your staff, finds anyone paid below what they want (beyond a slack you set), and raises them toward their desired salary plus a small buffer — using the game's own salary system. Only ever raises, each jump clamped so your wage bill grows smoothly. Set the interval, threshold, buffer, per-step cap and whether raises are silent.
The default is F6. If that key already does something in your game (or you just prefer another), rebind it either way:
Use the Rebind button
Open the panel, go to section 00, find the menu-key setting and click its Rebind button — then press any key. It saves immediately.
Edit ConfigMenuHotkey
With the game closed, set the key in the config file to any valid Unity
KeyCode name:
ConfigMenuHotkey = F7
Common choices: F7, F8, Insert, Home,
Backslash. Save the file and launch.
⌨️Panel won't open, but the log shows [GUI] OnGUI is live?
That line means the GUI component is ticking — so the mod loaded fine and your key is simply bound to something the game also uses. Rebind it (above) to a free key and it'll open. If you don't even see that line, the issue is loading, not the hotkey — see Troubleshooting.
⏻Back to vanilla in one switch
Set ModEnabled = false in the file, or hit MOD OFF in the title bar, and
the entire overhaul goes dormant — 100% stock behaviour, no restart. Flip it back on the same way.
Because nothing is ever written to your save, even fully removing the mod just returns the museum to
normal on the next launch.
Hit a snag?
Loading problems, the window not appearing, wrong BepInEx version — every common issue and its fix.
Want the deep reference?
The full mod README documents every single setting, all four directors and the exact game hooks.