Document Batch 4B Pass 7 partial GAS archaeology: effects, tags, and legacy boundaries.

Inventories Gameplay Effects, orphan default attributes, missing abilities/cues, and consumable EffectActor wiring without modifying Unreal assets.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-16 21:29:19 -07:00
co-authored by Cursor
parent 4e926d1ccc
commit e50c8032ef
8 changed files with 402 additions and 240 deletions
@@ -2,12 +2,12 @@
**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.
- **Scope:** Native HUD / widget-controller path (Batch 1); Pass 3 resolution of `WBP_PlayerHUD`; Pass 7 GAS attribute UI binding confirmation. Full frontend/session graphs deferred to Pass 4.
- **Inspection method:** Native C++ read; AssetTools class/tags/deps/refs; ObjectTools; Pass 7 Overlay path verification.
- **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
- **Last completed pass:** Pass 7 (Batch 4B) — GAS attribute UI portion
- **Next pass expected to contribute:** Pass 4 (sessions/frontend)
## Draft tracking
@@ -16,13 +16,14 @@
- OverlayWidgetController attribute broadcasts/bindings
- AdvancedSessions / AdvancedSteamSessions enabled + descriptor paths
- Widget subclass path seeds
- **WBP_PlayerHUD resolved as AHUD (`RIRHUD` child)**
- WBP_PlayerHUD resolved as AHUD (`RIRHUD` child)
- GM_Dungeoneer assigns HUDClass / PC / PS
- **Pass 7:** Exact Overlay paths; stamina delegate type reuse confirmed; dual HUD vs ASC still unsynchronized
### Pending sections
- Main menu / browser / character-select widget flow
- Production vs Example Advanced Sessions Blueprints
- WBP_Overlay / progress bar bindings deep dive
- WBP_Overlay progress-bar Blueprint binding deep dive
- CommonUI usage
- BPI_PlayerController.UpdatePlayerHUD widget targets
@@ -42,9 +43,11 @@
| 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` |
| Dependencies | REALMSINRUIN, `/Game/_Main/UI/Widgets/Overlay/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`.
**Observed Implementation:** Naming `WBP_` is misleading Documented Intent; asset is the game HUD class assigned on `GM_Dungeoneer`.
**Pass 7 path correction:** Overlay widget exact path is `/Game/_Main/UI/Widgets/Overlay/WBP_Overlay` (not `/Game/_Main/UI/Widgets/WBP_Overlay`).
---
@@ -54,11 +57,17 @@
`ARIRPlayerCharacter::InitAbilityActorInfo``ARIRHUD::InitOverlay(PC, PS, ASC, AS)` → create `OverlayWidgetClass``UOverlayWidgetController` binds ASC attribute delegates → `BroadcastInitialInitialValues``AddToViewport`.
Controller asset: `/Game/_Main/UI/Widgets/WidgetController/BP_OverlayWidgetController` (Blueprintable subclass of native `UOverlayWidgetController`).
Broadcasts: Health, MaxHealth, Mana, MaxMana, Stamina, MaxStamina from `URIRAttributeSet`.
### 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.
**Technical Debt / Incomplete Refactor:** Dual attribute UI — no synchronization observed (Pass 7).
**Technical Debt (Pass 7 confirmed):** In `OverlayWidgetController.h`, `OnStaminaChanged` is typed `FOnManaChangedSignature` and `OnMaxStaminaChanged` is typed `FOnMaxManaChangedSignature` (stamina delegates reuse mana signature types). Dedicated `FOnStaminaChangedSignature` / `FOnMaxStaminaChangedSignature` are declared but unused for those properties.
---
@@ -79,6 +88,4 @@
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.
Full session create/find/join graph archaeology → **Pass 4**.