-
v1.1.0 Stable
released this
2026-07-21 16:42:00 -04:00 | 7 commits to main since this releaseBurglin' Gnomes — UltraWide Fix
✅ Confirmed working at 5120×1440 (32:9) on Proton.
- Engine: Unity 6 (6000.0.62f1), Mono backend, URP + Cinemachine
- Steam AppID: 3844970
- Executable:
Gnomium.exe - Method: BepInEx plugin (no DRM, no memory patching needed)
What it fixes — and what it deliberately doesn't
The camera is already correct. It's orthographic with a constant
orthographicSizeof 5.0, so a wider display genuinely shows more world (visible width 17.8 → 35.6 going 16:9 → 32:9). That's textbook Hor+, and this fix does not touch it.fieldOfViewreads 60 at every resolution simply because orthographic cameras don't use it — a red herring if you go looking.The problem is entirely UI, in two separate places needing two different levers:
Canvas Problem Lever HUD ( ScreenSpaceOverlay+ScaleWithScreenSize)Ships matchWidthOrHeight = 0.453(width-biased). At 5120px that yields scaleFactor 1.948 — a ballooned HUD with overlapping bottom/centre text.match = 1(scale by height) + raisereferenceResolution.y, shrinking the HUD and giving the layout more logical roomIn-world labels ( WorldSpace, e.g.NamePlate)At 32:9 you see twice as much world, so far more labels are on screen and can collide Canvas transform.localScaleGotcha:
CanvasScaler.scaleFactordoes nothing on a WorldSpace canvas —CanvasScaler.HandleWorldCanvas()overwrites it withdynamicPixelsPerUnitevery frame. Scaling the transform is the only thing that works.Install (Linux / Proton)
./install.sh BurglinGnomesThen required — Steam → Properties → Launch Options:
WINEDLLOVERRIDES="winhttp=n,b" %command%Without it Proton ignores BepInEx's
winhttp.dllloader and the plugin never runs.Install (Windows)
Extract the release zip into the game folder (next to
Gnomium.exe). No launch option needed.Tuning
Config is generated on first launch:
<game>/BepInEx/config/com.programmingpug.burglingnomes.ultrawidefix.cfgEdits apply live (~2s) — no restart. BepInEx doesn't reload config on its own, so the plugin watches the file's mtime and calls
Config.Reload()itself.Setting Default Notes HudScale0.8HUD size. Lower = smaller HUD and more layout room (cures overlapping text) WorldLabelScale0.8In-world nameplate size MatchWidthOrHeight1.0Leave at 1. Lower re-introduces width scaling and cramps the layout vertically DesignHeight1080The game's design height; don't change VerbosefalseLog every canvas adjustment HudScale→ resulting HUD scale at 5120×1440 (stock is 1.333):HudScale 1.0 0.85 0.8 0.6 scale 1.333 1.133 1.067 0.800 Verifying it works
<game>/BepInEx/LogOutput.logThat's the plugin's log — not UnityExplorer's in-game Log window, which only shows Unity
Debug.Log. You should see:Burglin' Gnomes UltraWide Fix 1.0.0 loaded. HUD 'Canvas' ref (1920.00, 1080.00) -> (1920.00, 1350.00) match=1 => scale=1.067 World 'NamePlate' localScale (1.00, 1.00, 1.00) -> (0.80, 0.80, 0.80)If a line is absent, that adjustment didn't happen.
Uninstall
./install.sh BurglinGnomes uninstallRemoves the loader and plugin.
BepInEx/is left in place in case other mods use it.Building the plugin from source
Prebuilt
BurglinGnomes.UltraWideFix.dllships here, so this is only needed if you change it:cd plugin dotnet build -c Release -p:GameDir="/path/to/Burglin' Gnomes"Requires the .NET SDK; it references the game's own assemblies and redistributes none of them.
Downloads