Captures Blueprint hierarchy, legacy ability/RPC paths, animation dependency seeds, and handoff state without modifying Unreal assets. Co-authored-by: Cursor <cursoragent@cursor.com>
8.1 KiB
8.1 KiB
13 — Unknowns and Runtime Questions
Status: Draft
- Scope: Unresolved questions after Batches 1–3. Separates confirmed static findings from questions needing further Blueprint, runtime, or config inspection.
- Inspection method: Consolidation of Batches 1–3; Batch 3 resolved per-character ability path unknowns.
- Evidence classifications used: Observed Implementation, Documented Intent, Observed Runtime Behavior, Inferred, Unknown.
- Tool or visibility limitations: Semantic Search unavailable; CustomEvent FunctionFlags not readable; comment-box membership limited; no PIE this batch.
- Last updated: 2026-07-16
- Current phase: Phase 1 — Static Architecture
- Last completed pass: Pass 6 (Batch 3)
- Next pass expected to contribute: Batch 4 (Pass 4 / 7 / 8 / 9 — only when authorized)
Draft tracking
Completed sections
- Batch 1 unknowns grouped by verification method
- Batch 2 resolutions: WBP_PlayerHUD class; BP_PlayerState DefaultAttributes=None; legacy ability routing documented
- Batch 3 resolutions: per-character Ability 001–004 connected paths; Wizard/Gunslinger stub confirmation; UseAbility* presence matrix
- Enemy ASC accessor defect still confirmed static
Pending sections
- Frontend/session/enemy AI/animation unknowns (Batch 4)
- Runtime test procedures after static ability archaeology
Evidence still required
- AnimNotify → UseAbility* wiring (Pass 8)
- Live ASC vs DEPRECATED HUD coexistence in PIE
- Enemy BP AI connected graphs (Pass 9)
- GE/cue referencer map (Pass 7)
Resolved in Batch 2 (no longer Unknown)
| Question | Resolution | Classification | Doc |
|---|---|---|---|
Is WBP_PlayerHUD a Widget or AHUD? |
Parent is RIRHUD; AHUD Blueprint; WBP_ name misleading |
Observed Implementation | 03, 11 |
Does BP_PlayerState assign DefaultAttributes GE? |
CDO defaultAttributesGameplayEffect = None |
Observed Implementation | 03, 06 |
| How are abilities routed/networked on base? | IA_Ability_* → Server_Ability_* stubs/overrides; Multicast FX helpers | Observed Implementation | 05, 08 |
Resolved in Batch 3 (Pass 6)
| Question | Resolution | Classification | Doc |
|---|---|---|---|
| Full Ability 001–004 paths per playable | Documented per character in tables | Observed Implementation | 05, 08 |
| Does Wizard implement Server_Ability_*? | No local implementations; inherit PrintString stubs | Observed Implementation | 05, 08 |
| Is Gunslinger data-only? | IsDataOnly=True; deps only base; inherited stubs | Observed Implementation | 05, 08 |
| Amazonian working melee path | Ability 001 Begin → Multicast montage → UseAbility001 Authority BoxOverlap ApplyDamage | Observed Implementation + Observed Runtime Behavior | 05 |
| Are UseAbility* still invoked? | Present and connected on Paladin 001/004, Amazonian 001, Cleric 002/004; caller of UseAbility* itself Unknown (likely AnimNotify) | Observed Implementation / Unknown caller | 05, 10 |
| Who calls PlayerDeath from Amazonian? | ReceiveAnyDamage → DEPRECATED_CurrentHealth ≤0 → PlayerDeath | Observed Implementation | 05, 08 |
| Parent calls on ability overrides? | Paladin/Amazonian/Cleric: No | Observed Implementation | 05 |
Confirmed static defects with runtime questions
| Confirmed finding | Evidence classification | Issue classification | Exact evidence | Runtime question |
|---|---|---|---|---|
| Enemy ASC on self vs GetASC from PlayerState | Observed Implementation | Incomplete Refactor | RIRBaseEnemyCharacter.cpp; RIRBaseCharacter.cpp | Which systems fail when interface ASC lookup is null for enemies? |
| Dual HUD attribute paths (ASC Overlay vs DEPRECATED floats) | Observed Implementation | Incomplete Refactor | RIRHUD InitOverlay; BP Server_UpdateHUD | Do both run? Which drives visible bars in PIE? |
| DefaultAttributesGameplayEffect unused (C++ and BP_PlayerState=None) | Observed Implementation | Partially Implemented | RIRPlayerState.h; BP_PlayerState CDO | What sets initial Health/Mana at spawn? |
| Cleric Ability 004 SpawnActor Class empty + mana CanUse unwired | Observed Implementation | Existing Baseline Defect | Player_Cleric UseAbility004 / Begin | Does 004 appear to fire but do nothing in PIE? |
| Multi_SpawnParticle empty EmitterTemplate (Paladin 004, Cleric 002) | Observed Implementation | Partially Implemented | UseAbility graphs | Visible missing VFX only? |
Requires Blueprint / animation inspection (remaining)
| Question | Why insufficient | Paths | Method | Priority | Dependency |
|---|---|---|---|---|---|
| Who calls UseAbility*? | Events connected; callers not in EventGraph | Character AnimMontages / AnimBP | Pass 8 notify walk | High | Pass 6 bodies done |
| Enemy chase/attack Blueprint logic | Structural only in Pass 3 | BP_EnemyCharacterBase, BP_Enemy_Skeleton, BPI_EnemyCharacter | Pass 9 connected graphs | High | Pass 3 structure |
| Do EffectActor children call ApplyEffectToTarget? | Native mechanism only | BP_HealthPotion etc. | Pass 10 | Medium | Batch 1 |
| Is CommonUI used by live content? | Plugin enabled; no native refs | /Game/_Main/UI | Widget parent inspection | Low | Batch 1 |
| Paladin Ability 002 block absorb | IsBlocking set; no damage absorb path traced | ABP_Paladin / PlayerHitCheck | Pass 8 + hit graphs | Medium | Pass 6 |
| Amazonian PerformingWhirlwind | Get without Set | Player_Amazonian | Search all graphs / macros | Low | Pass 6 |
Requires runtime inspection / PIE
| Question | Why | Method | Priority |
|---|---|---|---|
| Enemy ASC accessor impact | Static mismatch; need consumers | PIE + AbilitySystemInspector | High |
| Default attribute values after spawn | No apply path found | PIE attribute values after possess | High |
| Dual HUD coexistence | Two static paths | Observe both overlay and UpdatePlayerHUD | Medium |
| Session create/find/join | Latent online ops | Network test after Pass 4 | Medium |
| Ability Server RPC reliability / prediction feel | Flags unread | Multi-client ability press | Medium |
| Wizard BeginPlay skipping Parent | May leave InitialSpawnLocation unset | Spawn Wizard → death/respawn location | Medium |
Requires broader filesystem/configuration inspection
| Question | Search | Priority |
|---|---|---|
| OnlineSubsystem / Steam settings location | Config/, Plugins//Config, Saved/Config | Medium |
| GameInstance class assignment outside DefaultEngine sample | INI + referencers of GI_Dungeoneer | Medium |
Requires manual editor inspection
| Question | Why | Paths |
|---|---|---|
| Montage notify timings | Registry tags limited | Character montages |
| DEPRECATED comment-box visual regions | find_nodes Comment returned [] | BP_PlayerCharacterBase / children EventGraphs |
| CustomEvent Reliable vs Unreliable | ObjectTools on node failed | Server_/Multicast_ events |
Tool and environment limitations
| Item | Detail | Impact |
|---|---|---|
| Semantic Search | HTTP 401 / no API key | No semantic discovery |
| CustomEvent FunctionFlags | list_properties failed on event nodes | RPC reliability Unknown |
| Comment boxes | find_nodes(title=Comment) empty | Visual DEPRECATED regions Unknown |
| Git | Available (baseline commit exists) | Dirty-tree gate works |
| No PIE in Batch 3 | Constraint honored | Runtime questions deferred |
Naming ambiguities
| Item | Status |
|---|---|
| Amazon vs Amazonian | Still open for GE folder naming (Pass 7) |
| WBP_PlayerHUD | Resolved — AHUD named like a widget |
Conflicting evidence
| Conflict | Current resolution | Remaining |
|---|---|---|
| Enemy ASC ownership vs accessor | Confirmed static defect | PIE impact |
| Default attributes present vs unused | BP_PlayerState=None; C++ unused; character GEs orphaned | Who applies GEs if anyone |
| URIRGameplayAbility "all abilities" vs legacy BP | Legacy active; GA scaffolding only | Pass 7 reconfirm |
| Dual HUD systems | Both connected | PIE which is authoritative for bars |
Priority order for later verification
- Batch 4 Pass 7 — GE/cue/tag inventory
- Pass 8 — AnimNotify → UseAbility wiring
- Pass 9 — enemy Blueprint AI
- Pass 4 — sessions / frontend
- Controlled PIE for ASC, attributes, dual HUD, enemy GetASC, Cleric 004 / Wizard spawn