Files
realms-in-ruin-dev/Documentation/Archaeology/11-UI-HUD-And-Sessions.md
T
tedwardsandCursor 0d045d142f Document Batch 2–3 Phase 1 archaeology: shared player-base architecture and per-character ability inventories.
Captures Blueprint hierarchy, legacy ability/RPC paths, animation dependency seeds, and handoff state without modifying Unreal assets.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-16 20:29:10 -07:00

3.4 KiB

11 — UI, HUD, and Sessions

Status: Draft

  • Scope: Native HUD / widget-controller path (Batch 1); Pass 3 resolution of WBP_PlayerHUD and GM/PC framework ties. Full frontend/session graphs deferred to Batch 4.
  • Inspection method: Native C++ read; Batch 2 AssetTools class/tags/deps/refs; ObjectTools GM_Dungeoneer CDO; BlueprintTools PC_Character.
  • Last updated: 2026-07-16
  • Current phase: Phase 1 — Static Architecture
  • Last completed pass: Pass 3 (Batch 2)
  • Next pass expected to contribute: Batch 4 Passes 4 + 10

Draft tracking

Completed sections

  • InitOverlay call chain from player InitAbilityActorInfo
  • OverlayWidgetController attribute broadcasts/bindings
  • AdvancedSessions / AdvancedSteamSessions enabled + descriptor paths
  • Widget subclass path seeds
  • WBP_PlayerHUD resolved as AHUD (RIRHUD child)
  • GM_Dungeoneer assigns HUDClass / PC / PS

Pending sections

  • Main menu / browser / character-select widget flow
  • Production vs Example Advanced Sessions Blueprints
  • WBP_Overlay / progress bar bindings deep dive
  • CommonUI usage
  • BPI_PlayerController.UpdatePlayerHUD widget targets

Evidence still required

  • Whether both Overlay ASC HUD and DEPRECATED UpdatePlayerHUD run in PIE
  • Session create/find/join graphs

WBP_PlayerHUD resolution (Pass 3)

Field Value
Path /Game/_Main/UI/Widgets/HUD/WBP_PlayerHUD
Asset class WBP_PlayerHUD_C
Generated parent /Script/REALMSINRUIN.RIRHUD
Type AHUD Blueprint (not UserWidget)
IsDataOnly True
Referencers /Game/_Main/Blueprints/Game/GameMode/GM_Dungeoneer
Dependencies REALMSINRUIN, /Game/_Main/UI/Widgets/WBP_Overlay, /Game/_Main/UI/Widgets/WidgetController/BP_OverlayWidgetController

Observed Implementation: Naming WBP_ is misleading Documented Intent; asset is the game HUD class assigned on GM_Dungeoneer. Relationship to ARIRHUD: direct Blueprint child that supplies OverlayWidgetClass / OverlayWidgetControllerClass via deps to WBP_Overlay + BP_OverlayWidgetController.


HUD init (Observed Implementation)

Native GAS path

ARIRPlayerCharacter::InitAbilityActorInfoARIRHUD::InitOverlay(PC, PS, ASC, AS) → create OverlayWidgetClassUOverlayWidgetController binds ASC attribute delegates → BroadcastInitialInitialValuesAddToViewport.

Legacy BP path (still connected)

BP_PlayerCharacterBase EventPossessed → Delay 0.4 → Server_UpdateHUD → compute DEPRECATED health/mana percentages → BPI_PlayerController.UpdatePlayerHUD.

Technical Debt: Dual attribute UI; Stamina delegates reuse Mana signature types in OverlayWidgetController.h.


Framework assignments (GM_Dungeoneer CDO)

Property Value
HUDClass WBP_PlayerHUD_C
PlayerControllerClass PC_Character_C
PlayerStateClass BP_PlayerState_C
DefaultPawnClass None

PC_Character implements BPI_PlayerController; holds CharacterSelectHUD; Enhanced Input IMC IMC_PlayerDefault + IA_Movement.


Sessions (Observed Implementation)

Project plugins AdvancedSessions + AdvancedSteamSessions enabled (VersionName 5.8). GM_Dungeoneer deps include AdvancedSessions.

Unknown: Live menu usage vs Example Advanced Sessions Blueprints — Batch 4 Pass 4.

Unknown: OnlineSubsystem INI location — Requires Broader Filesystem/Configuration Inspection.