Captures Blueprint hierarchy, legacy ability/RPC paths, animation dependency seeds, and handoff state without modifying Unreal assets. Co-authored-by: Cursor <cursoragent@cursor.com>
3.4 KiB
11 — UI, HUD, and Sessions
Status: Draft
- Scope: Native HUD / widget-controller path (Batch 1); Pass 3 resolution of
WBP_PlayerHUDand 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 (
RIRHUDchild) - 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::InitAbilityActorInfo → ARIRHUD::InitOverlay(PC, PS, ASC, AS) → create OverlayWidgetClass → UOverlayWidgetController binds ASC attribute delegates → BroadcastInitialInitialValues → AddToViewport.
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.