Captures Blueprint hierarchy, legacy ability/RPC paths, animation dependency seeds, and handoff state without modifying Unreal assets. Co-authored-by: Cursor <cursoragent@cursor.com>
154 lines
8.1 KiB
Markdown
154 lines
8.1 KiB
Markdown
# 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
|
||
|
||
1. Batch 4 Pass 7 — GE/cue/tag inventory
|
||
2. Pass 8 — AnimNotify → UseAbility wiring
|
||
3. Pass 9 — enemy Blueprint AI
|
||
4. Pass 4 — sessions / frontend
|
||
5. Controlled PIE for ASC, attributes, dual HUD, enemy GetASC, Cleric 004 / Wizard spawn
|