Skip to content
Version 2.11.0
↓ Get the launcher

GameUIState enumeration

Informational flags describing the game’s in-world UI state. The framework detects and exposes this (via UiState); it never gates on it. A plugin’s ShouldRender optionally reads it (e.g. hide a gameplay HUD while a menu covers it).

Scope: describes in-world UI and is None while Phase is TitleScreen — there is no in-game HUD/menu at the title / login / character-select screens. Use GamePhase for “at the login screen,” not a GameUIState value.

Flat flags (no base/overlay structure) — the game’s UI layers genuinely co-occur (e.g. the line selector stays open over a valid HUD: GameHud | LineSelector). Preset masks encode the cover-vs-overlay knowledge as named values so plugins don’t memorize bits. Backing Int32 keeps 32-bit headroom; new bits are append-only and non-breaking.

[Flags]
public enum GameUIState
name value description
None 0x0 No in-world UI state (also the value while at the title / login / character-select screens).
GameHud 0x1 Gameplay HUD on-screen.
FullScreenMenu 0x2 Inventory / map / character / gear / skills — covers the HUD.
MainMenu 0x4 ESC functions list (main menu).
LineSelector 0x8 SwitchLine panel — OVERLAYS the HUD (co-occurs with GameHud).
Dialogue 0x10 NPC talk / dialogue.
Cutscene 0x20 Story cutscene video / top overlay.
Loading 0x40 Loading screen.
Matchmaking 0x80 Match-pop confirm (dungeon / world-boss queue).
Popup 0x100 Generic confirm / OK / system modal dialog (a screen-covering overlay that blocks gameplay attention).
GameHudHidden 0x62 UIs that REPLACE the HUD (not LineSelector, which overlays it).
AnyMenu 0x10E Any menu-like surface.
Blocking 0x1F6 Surfaces that block normal gameplay input/attention.