UIScaleAndDeclutter
Resize any part of your interface individually, and remove the bugged edit mode boxes.
| Last updated | 5 hours ago |
| Total downloads | 3 |
| Total rating | 0 |
| Categories | Mods |
| Dependency string | TeamSaltyBois-UIScaleAndDeclutter-1.0.0 |
| Dependants | 0 other packages depend on this package |
This mod requires the following mods to function
BepInEx-BepInExPack
BepInEx pack for Mono Unity games. Preconfigured and ready to use.
Preferred version: 5.4.2305README
UI Scale and Declutter — v1.0.0
Note: Configuration generated on first run with plugin installed.
Description
This mod gives every movable panel its own configurable size setting, plus one global multiplier over the top. Shrink the chat log, leave the party frame alone, halve the action bar. Whatever suits your screen.
While I was in there I also fixed the bugged editing handles. Erenshor draws a border around every movable element while you are rearranging your interface and hides them all again when you are done, but two of them never got the message and stayed visible for the whole session. The mod fixes that, and only while UI editing is off, so you lose nothing. Turn editing on and every handle appears exactly as it should.
Works alongside my other mods.
Note: I am a plebian, and have not made it to raids yet. I have added the raid panels, but have been unable to personally test them.
Features
Scaling
- A size setting for every panel the game ships, and a global multiplier over all of them. The two multiply, so you can set an overall size and then correct the handful of panels that want to be different.
- Panels are named in plain English rather than by the internal names the game uses, with the internal name written beside each setting in case you ever need it.
- The whole list is written to your config on first launch, so you are not logging in and opening every window to find out what exists.
- Dragging still works normally at any size. The scale is applied to the same object the game's own UI editing moves, so nothing about positioning changes.
Decluttering
- The bugged outlines and corner boxes are gone by default, and can be turned back on.
- Editing handles still appear normally while UI editing is on, because the mod only tidies up while it is off.
- Only images the mod switched off are ever switched back on, so anything the game deliberately hid stays hidden.
Awkward cases
- The compass has no drag handle, so the game never registers it as a movable element. It gets a size setting anyway.
- The raid frame is swapped in place of your party frame when a raid starts, so it is never on screen alongside it. It gets its own setting rather than following the party frame's.
- Anything else the game does not treat as movable can be named in
Extra.Panelsand it will be scaled too.
Configuration
All settings are stored in BepInEx/config/com.erenshor.uiscaleanddeclutter.cfg. Edit this file while the game is closed, as settings are read once at startup.
Sizes
-
[Scale] All— Default:1, range0.4–2.5
Multiplies the size of your whole interface. Every panel setting multiplies with this one. -
[Scale HUD]— Default:1each, range0.4–2.5
One entry for every part of the interface that is always on screen:PlayerFrame,PartyFrame,TargetFrame,EngagedTarget,PetFrame,ActionBar,BuffBar,CastBar,MenuBar,DPSMeter,ChatLog,CombatLogandCompass. -
[Scale Windows]— Default:1each, range0.4–2.5
The same again for the windows that come and go:Inventory,QuestLog,GuildWindow,GroupBuilder, andRaidFrame, which the game swaps in place of your party frame while you are raiding.
Declutter
-
Enabled— Default:true
Removes the leftover outlines and corner boxes. Setfalseto leave the interface exactly as the game draws it. -
FixKnownStrays— Default:true
Handles the outline around your player frame, which is a slightly different problem. Every other border is registered with the game and hidden correctly; that one is not, so nothing in vanilla can switch it off in any mode. Setfalseif you would rather keep it. -
ExcludePanels— Default: empty
Comma separated panel names to leave completely alone. Either the friendly name or the game's own name works. -
StraySprites— Default: empty
Comma separated sprite names to treat as stray outlines wherever they appear. Your player frame's box is drawn withFacebook_Frame, so putting that here would catch every other use of it at once. It is a blunt instrument, which is why it is off. -
ExtraHide— Default: empty
Hides one specific child object, written asPanel/Child. You should not need this. It is here so that a game update moving something cannot leave you waiting on me for a fix.
Extra
Panels— Default: empty
Comma separated GameObject names to scale even though the game does not treat them as movable. Turn onDiagnostics, open the window you care about and press the dump key, and the log tells you what it is called.
Troubleshooting
-
Diagnostics— Default:false
Turns on the dump key and all discovery logging. While it is off, none of that code runs at all, not even the key check. -
DumpKey— Default:F10
Lists every panel found, every open window with no drag handle, and the contents of anything named inDeepDumpPanels. -
DeepDumpPanels— Default: empty
Comma separated panel names to list exhaustively: every image inside them, with name, whether it is switched on, colour, size and sprite. This is how a stray border gets identified in the first place.
Requirements
- BepInEx 5.4.23.5
Installation
Mod manager: install normally.
Manual:
- Install BepInEx for Erenshor.
- Create the folder
BepInEx\plugins\UIScaleAndDeclutter\. - Place
UIScaleAndDeclutter.dllin that folder. - Launch the game once. The config file generates with every panel already listed.
Compatibility
One Harmony patch on one method.
-
Other mods: a conflict is only possible with another mod that also scales or restyles the interface. Anything that reads your UI or touches other parts of the game will coexist fine.
-
Game updates: no panel is hardcoded. The mod works from the game's own register of movable elements, so new panels are picked up on their own and removed ones simply stop appearing. A renamed panel gets a fresh setting under its new name rather than breaking anything.
-
Adding or removing mid playthrough: safe. Nothing is written to your character, and panel positions are stored by the game itself, so removing the mod puts your interface back to vanilla sizing on the next launch.
Methods Patched
DragUI.Update— Postfix
DragUIis the component every movable element carries, and its update already runs once per frame for each of them. The patch takes the panel it is handed, applies that panel's size, and finishes the tidy up the original started. It does not read or change a single value the game calculates.
Performance
Because settings are read at startup and never change while you play, a panel's size is applied once and then left alone.
That is what lets the patch be as cheap as it is. It checks a single flag and returns, and only does real work on the frame after something actually changes: a new panel appearing, UI editing being toggled, or a sanity check that runs once a second in case another mod moves something.
Component lookups happen once per panel, ever. Nothing is searched or allocated during play, and with Diagnostics off the diagnostic code is never reached.
Notes
- Settings need a restart to take effect. That is a deliberate trade rather than an oversight, and it is why the mod can sit idle with 0 performance hits during play.
- A few windows, the spellbook and the map among them, are not movable in vanilla either, so the game never registers them and they are not scaled. Add them by name through
Extra.Panelsif you want them sized. - Naming something in
Extra.Panelsthat sits inside a panel you are already scaling makes the two multiply. That is usually what you want for a sub panel, and the log says so when it happens. Naming something that contains a scaled panel is refused outright, since that would quietly double scale everything inside it. - At the very small end of the range, around
0.4, a few elements the game positions by code rather than by parenting can drift slightly, showing up as a stray square that follows a shrunken window at the wrong offset.