# 11 — UI, HUD, and Sessions **Status: Draft** - **Scope (Batch 1 seed):** Native HUD / widget-controller / attribute-delegate path; Advanced Sessions plugin presence. No widget tree or session Blueprint flow yet. - **Inspection method:** Native C++ read; PluginToolset; subclass seeds. - **Last updated:** 2026-07-16 - **Current phase:** Phase 1 — Static Architecture - **Last completed pass:** Pass 2 (Batch 1) - **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 ### Pending sections - Main menu / browser / character-select widget flow - Production vs Example Advanced Sessions Blueprints - WBP_Overlay / progress bar bindings - CommonUI usage ### Evidence still required - Whether HUD class defaults assign OverlayWidgetClass / ControllerClass - Session create/find/join graphs --- ## HUD init (Observed Implementation) `ARIRPlayerCharacter::InitAbilityActorInfo` → `ARIRHUD::InitOverlay(PC, PS, ASC, AS)` → create `OverlayWidgetClass` → `UOverlayWidgetController` binds ASC attribute delegates → `BroadcastInitialInitialValues` → `AddToViewport`. checkf text references `WBP_PlayerHUD` for class assignment. **Subclass seeds:** `WBP_Overlay`, health/mana progress bars, `BP_OverlayWidgetController`. **Technical Debt:** Stamina delegates reuse Mana signature types in OverlayWidgetController.h. --- ## Sessions (Observed Implementation) Project plugins AdvancedSessions + AdvancedSteamSessions enabled (VersionName 5.8). Depend on OnlineSubsystem / Steam stack. **Unknown:** Live menu usage vs `/Game/_Main/Blueprints/Examples/ExampleAdvancedSessionsFunctionsChar` — Batch 4 Pass 4. **Unknown:** No OnlineSubsystem INI under project `Config/` — Requires Broader Filesystem/Configuration Inspection.