Captures Blueprint hierarchy, legacy ability/RPC paths, animation dependency seeds, and handoff state without modifying Unreal assets. Co-authored-by: Cursor <cursoragent@cursor.com>
4.5 KiB
10 — Animation Dependencies
Status: Draft
- Scope: Montage and AnimInstance seeds discovered during Pass 6 ability-path reconstruction. Not a full AnimBP / notify archaeology pass.
- Inspection method: Connected subgraphs on character ability events; AssetTools dependency paths when visible on Multicast_PlayMontage pins.
- Evidence classifications used: Observed Implementation, Inferred, Unknown.
- Tool or visibility limitations: Montage section names, play rate, start position, and AnimNotify tracks not deep-inspected — Defer Pass 8. Root-motion requirements Unknown without Montage asset inspection.
- 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 8
Draft tracking
Completed sections
- Per-character Montage asset paths tied to Ability 001–004 Begin paths
- AnimBP class references from character deps (structural)
- Notes on UseAbility* vs Montage timing (inferred notify dependency)
Pending sections
- AnimNotify → UseAbility* wiring
- Montage section / blend / root-motion details
- ABP state machines reacting to IsBlocking / CurrentlyAttacking
Evidence still required
- Exact notify names that call UseAbility001 / UseAbility002 / UseAbility004
- Whether End events stop montages (most Ends missing)
Shared helper
| Helper | Owning BP | Behavior |
|---|---|---|
| Multicast_PlayMontage | BP_PlayerCharacterBase | Multicast → PlayMontage on mesh AnimInstance |
Gameplay effects (ApplyDamage / heal / spawn) observed after Montage Begin in separate UseAbility* or timer/overlap events — typically during Montage if notify-driven. Exact notify wiring: Unknown — Requires Manual Editor Inspection / Pass 8.
Player_Paladin
| Ability | Montage path(s) | AnimInstance | Gameplay vs Montage | End stops Montage? |
|---|---|---|---|---|
| 001 | /Game/_Main/Animations/PlayerCharacters/Human/CharacterClasses/Paladin/AnimMontages/Attack_A_Fast_Montage (+ B, C, D_Fast) via Ability001Montages array random |
ABP_Paladin | UseAbility001 ApplyDamage separate Authority path | Unknown (no local End) |
| 002 | None in Begin subgraph | ABP_Paladin | IsBlocking state only — AnimBP reaction Inferred | End clears IsBlocking; Montage stop Unknown |
| 003 | ChargeTimeline (not Montage) | ABP_Paladin | ChargeBox ApplyDamage during charge | No local 003 End |
| 004 | /Game/_Main/Animations/PlayerCharacters/Human/CharacterClasses/Paladin/AnimMontages/Abilities/Paladin_Ability004_Montage |
ABP_Paladin | UseAbility004 AoE + SFX separate | Unknown |
SFX: MagicSpell_01_Cue via Multicast_PlaySFX on Ability 004 UseAbility path.
Player_Amazonian
| Ability | Montage path(s) | AnimInstance | Gameplay vs Montage | End stops Montage? |
|---|---|---|---|---|
| 001 | /Game/_Main/Animations/PlayerCharacters/Human/CharacterClasses/Amazon/AnimMontages/A_Hu_F_Combat_2H_Attack01_Montage (+ Attack02, Attack_Base, Attack) via Ability001Montage array |
ABP_Amazon | UseAbility001 Authority damage separate | Unknown (no local End) |
| 002–004 | None (inherited stubs) | — | — | — |
Observed Runtime Behavior: Amazonian melee (Ability 001 path) is the known working combat baseline.
Player_Cleric
| Ability | Montage path(s) | Notes |
|---|---|---|
| 001 | Cleric_PrimaryAttack_* via Ability001Montages | Montage only — no UseAbility001 |
| 002 | Cleric_Ability002_Montage | Heal in UseAbility002 |
| 003 | Cleric_Ability003_Montage | Played inside ConcentrateHandle timer loop |
| 004 | Cleric_Ability004_Montage | Spawn broken; montage still plays |
Exact /Game/... Cleric montage folder paths: recorded as class-named montages under Cleric AnimMontages in deps — full absolute paths Require Manual Editor Confirmation if not pinned in subgraph (Observed Implementation of PlayMontage call; path strings from character asset deps).
Player_Wizard / Player_Gunslinger
No ability Montage invocations. No character-local Multicast_PlayMontage callers for abilities.
Cleanup / End dependency summary
| Character | Ability End stops Montage? |
|---|---|
| Most slots | Unknown / Missing End — Server_Ability_*_End not overridden; base End empty |
| Paladin 002 | Clears IsBlocking / CurrentlyAttacking / CanMove — Montage stop not observed |
| Cleric 003 | EndConcentrate clears timer / DivineCircleActive — Montage stop not observed |
Root motion required: Unknown — Defer Pass 8.