TeamSaltyBois-GroupCommandsToggle icon

GroupCommandsToggle

Hide the party command buttons and the kick X's until you hold a key, leaving just your group's health bars.

Last updated 4 hours ago
Total downloads 2
Total rating 0 
Categories Mods
Dependency string TeamSaltyBois-GroupCommandsToggle-1.0.0
Dependants 0 other packages depend on this package

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2305 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2305

README

Group Commands Toggle — v1.0.0

Note: Configuration generated on first run with plugin installed.

Description

The party frame carries command buttons stacked underneath it, and a kick button beside every member. All of it is on screen all of the time.

This mod hides them until you hold a key. Hold shift and everything is back, exactly where it was. Let go and you are left with names and bars.

Shift is the default as the game already shows the Shift+18 hotkey labels while you hold it, so the buttons and their shortcuts now appear together.

Works alongside my other mods.


Features

  • The whole command stack hidden until you hold the reveal key: Attack, Assist MA, Follow, Pull Target, Auto Pull, Guard, Run Away, Invis Group, Manage Roles and Loot Distribution.
  • The four X kick buttons hidden the same way.
  • Your hotkeys still work while everything is hidden. Shift+1 through Shift+8 are read straight from the keyboard and never cared whether the buttons were on screen. Only Manage Roles and Loot Distribution have no shortcut (something I should consider adding perhaps), and holding the key gets you those.
  • Everything stays visible while UI editing is on, so you can still position the frame.

Configuration

All settings are stored in BepInEx/config/com.erenshor.groupcommandstoggle.cfg. Edit the file while the game is closed, as settings are read once at startup.

  • RevealKey — Default: LeftShift
    Hold this to show everything. Leave it blank for none. Any key works, one example of each naming style: LeftShift for a modifier, X for a letter, Alpha1 for the number row (not plain 1), Keypad0 for the number pad (not Numpad0), F1 for a function key, Mouse2 for a mouse button.

  • RevealKeyAlt — Default: RightShift
    A second key that does the same thing. Leave it blank for none.

  • HideKickButtons — Default: true
    Whether the four X kick buttons hide along with the command stack.

  • ContainerNameOverride — Default: empty
    Forces the mod to use a specific object. You should never need this. It is here so that a game update moving things around cannot leave you waiting on me for a fix.

  • DumpKey — Default: F9
    Logs every group command panel the mod can find, with full paths and live state. Only useful if something looks wrong and you are sending me a log.

  • Diagnostics — Default: false
    Logs what was found, and each time the buttons show or hide. Only worth turning on if something looks wrong and you are sending me a log, as it is chatty.


Requirements

  • BepInEx 5.4.23.5

Installation

Mod manager: install normally.

Manual:

  1. Install BepInEx for Erenshor.
  2. Create the folder BepInEx\plugins\.
  3. Place GroupCommandsToggle.dll in that folder.
  4. Launch the game once. The config file generates automatically.

Compatibility

One small Harmony patch, used only as a safety net.

  • Other mods: a conflict is only possible with another mod that also hides or rearranges the party frame.

  • Game updates: the mod finds the buttons by their labels rather than by a hardcoded name, so it survives most reshuffling. If it cannot find them at all it logs a warning and leaves your interface exactly as vanilla left it.

  • Adding or removing mid playthrough: safe. Nothing is written to your character.

  • Controller: the game already has its own hold to show command wheel on the Dpad, and this mod does not interfere with it.


Methods Patched

  • SimPlayerGrouping.Update — Postfix
    A fallback driver, nothing more. It calls the mod's own update path and does not read or change a single value the game calculates. The mod normally runs from a GameObject it creates itself, and this exists because BepInEx plugin objects do not reliably receive Unity's frame callbacks in this game. I would rather have a belt and braces than a mod that silently does nothing.

Performance

With Diagnostics off, each frame costs two key checks and a short scan over ten objects. Buttons are only switched when the state actually changes, exactly as vanilla does it.

Nothing is searched or allocated once the panel has been found, which happens once when you first group up.


Notes

  • The buttons sit at fixed positions rather than in a layout, so hiding them does not shift your health bars around. They simply stop being drawn.
  • Settings are read once at startup, so a change needs a restart.