Document Batch 2–3 Phase 1 archaeology: shared player-base architecture and per-character ability inventories.
Captures Blueprint hierarchy, legacy ability/RPC paths, animation dependency seeds, and handoff state without modifying Unreal assets. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -2,12 +2,12 @@
|
||||
|
||||
**Status: Draft**
|
||||
|
||||
- **Scope (Batch 1 seed):** Native GAS scaffolding — ASC ownership, AttributeSet, empty GameplayAbility base, EffectActor GE application, default-attribute property, tags from config. Full GE CDO / cue / grant-path inventory deferred.
|
||||
- **Inspection method:** Native C++ read; AttributeSetToolset not re-run this batch (calibration prior); GameplayTags from DefaultGameplayTags.ini; subclass search for URIRGameplayAbility.
|
||||
- **Scope:** Native GAS scaffolding (Batch 1) plus Batch 2 Blueprint seeds: BP_PlayerState defaults, legacy ability confirmation, dual HUD attribute paths.
|
||||
- **Inspection method:** Native C++ read; Batch 2 ObjectTools on `BP_PlayerState` CDO; BlueprintTools on `BP_PlayerCharacterBase` for ASC/GA absence in ability graphs.
|
||||
- **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 Pass 7
|
||||
- **Last completed pass:** Pass 6 (Batch 3)
|
||||
- **Next pass expected to contribute:** Batch 4 Pass 7 (GE/cue inventory)
|
||||
|
||||
## Draft tracking
|
||||
|
||||
@@ -19,28 +19,31 @@
|
||||
- URIRGameplayAbility empty + no subclasses
|
||||
- EffectActor ApplyEffectToTarget mechanism
|
||||
- Project gameplay tags from config
|
||||
- **BP_PlayerState `DefaultAttributesGameplayEffect` = None** (Pass 3)
|
||||
- Confirmation: abilities remain legacy BP `Server_Ability_*` (Pass 5–6 / doc 05)
|
||||
- **Pass 6:** No ASC activate/grant/GameplayEffect apply in any connected ability path on five playables
|
||||
|
||||
### Pending sections
|
||||
- Default attribute GE CDO modifiers per character
|
||||
- Default attribute GE CDO modifiers per character (Pass 7)
|
||||
- Gameplay Cue inventory
|
||||
- Ability granting paths in Blueprints
|
||||
- Tag referencers
|
||||
- Runtime ASC state (PIE-gated)
|
||||
|
||||
### Evidence still required
|
||||
- Whether BP_PlayerState assigns/applies `DefaultAttributesGameplayEffect`
|
||||
- Whether any Blueprint grants `URIRGameplayAbility` or engine GA classes
|
||||
- Whether any other actor/BP applies default-attribute GEs at spawn
|
||||
- Whether OverlayWidgetController path and DEPRECATED HUD path both run in PIE
|
||||
- Full GE asset inventory and referencer map (Pass 7)
|
||||
|
||||
---
|
||||
|
||||
## Distinctions (Batch 1)
|
||||
## Distinctions
|
||||
|
||||
| Layer | Status | Evidence |
|
||||
|-------|--------|----------|
|
||||
| GAS infrastructure | Present | ASC, AttributeSet, IAbilitySystemInterface, EffectActor |
|
||||
| GAS data | Partially present | Tags in INI; GE assets exist (calibration); DefaultAttributes property |
|
||||
| GAS runtime abilities | Not observed | No URIRGameplayAbility subclasses; calibration: no GA assets |
|
||||
| Legacy BP abilities | Not inspected this batch | Calibration: Server_Ability_*, UseAbility* on Paladin |
|
||||
| GAS runtime abilities | Not observed | No URIRGameplayAbility subclasses; no GA assets; base EventGraph has no ASC activate |
|
||||
| Legacy BP abilities | **Documented (Batch 2)** | `05-LegacyAbilityArchitecture.md`: IA → Server_Ability_* → Multicast montage |
|
||||
|
||||
---
|
||||
|
||||
@@ -70,21 +73,45 @@ Constructor inits Health/MaxHealth/Mana/MaxMana only; Stamina/MaxStamina not Ini
|
||||
|
||||
`DefaultAttributesGameplayEffect` on PlayerState: declared, **not applied in native**.
|
||||
|
||||
**Batch 2 Observed Implementation:** `/Game/_Main/Blueprints/Player/BP_PlayerState` CDO property `defaultAttributesGameplayEffect` = **None**. Assignment/application path remains missing at both C++ and this BP.
|
||||
|
||||
---
|
||||
|
||||
## Abilities
|
||||
|
||||
`URIRGameplayAbility`: InstancedPerActor only. **No project subclasses** (search_subclasses).
|
||||
|
||||
**Conclusion (Observed Implementation):** No project-defined UGameplayAbility subclasses, Gameplay Ability assets, or
|
||||
static ability-granting paths have been observed so far.
|
||||
**Conclusion (Observed Implementation):** No project-defined UGameplayAbility subclasses, Gameplay Ability assets, or static ability-granting paths observed. Playable abilities are legacy Blueprint custom events (`Server_Ability_*`) with Enhanced Input on `BP_PlayerCharacterBase` — see `05-LegacyAbilityArchitecture.md`.
|
||||
|
||||
Current evidence supports that the playable abilities have not yet been
|
||||
converted into discrete Gameplay Ability implementations. This must be
|
||||
reconfirmed during the dedicated GAS and Blueprint passes.
|
||||
---
|
||||
|
||||
## Dual attribute UI paths (Batch 2)
|
||||
|
||||
| Path | Source | Consumer |
|
||||
|------|--------|----------|
|
||||
| Native GAS | `InitAbilityActorInfo` → `ARIRHUD::InitOverlay` → OverlayWidgetController ASC delegates | `WBP_Overlay` via `WBP_PlayerHUD` (AHUD) deps |
|
||||
| Legacy BP | `Server_UpdateHUD` / `InitializeHUD` using `DEPRECATED_Current/Max Health/Mana` | `BPI_PlayerController.UpdatePlayerHUD` |
|
||||
|
||||
Both are Observed Implementation. Incomplete Refactor — legacy path still active.
|
||||
|
||||
---
|
||||
|
||||
## Effects
|
||||
|
||||
`ARIREffectActor::ApplyEffectToTarget` applies Instant/Duration class via ASC MakeOutgoingSpec + ApplyGameplayEffectSpecToSelf. Overlap/authority logic expected in Blueprint children (Batch 4 Pass 10 / doc 12).
|
||||
|
||||
---
|
||||
|
||||
## Pass 6 — GAS interactions encountered on playables
|
||||
|
||||
| Asset / interaction | Character | Status | Classification |
|
||||
|---|---|---|---|
|
||||
| ASC ActivateAbility / GrantAbility | All five | Not found in ability graphs | Observed Implementation (absence) |
|
||||
| ApplyGameplayEffect / GE Spec | All five ability paths | Not found | Observed Implementation (absence) |
|
||||
| `GE_Cleric_DefaultAttributes` | Cleric | Asset exists; 0 referencers; not in ability graphs | Present but Unconnected |
|
||||
| `GE_Wizard_DefaultAttributes` | Wizard | Asset exists; unwired | Present but Unconnected |
|
||||
| `GE_Gunslinger_*` | Gunslinger | Not found | Missing |
|
||||
| `NS_Wizard_Ability001` | Wizard | Niagara present; unwired | Present but Unconnected |
|
||||
| Damage / heal | Paladin / Amazonian / Cleric | `ApplyDamage` / `DEPRECATED_RecoverPlayerHealth` — **not** GE | Observed Implementation |
|
||||
|
||||
**Conclusion (Observed Implementation):** Pass 6 reconfirms playable combat is legacy Blueprint. Character-named DefaultAttributes GE assets are orphaned relative to ability graphs and `BP_PlayerState.DefaultAttributesGameplayEffect=None`. Systemwide GE/cue archaeology remains Pass 7.
|
||||
|
||||
Reference in New Issue
Block a user