Initialize Git with LFS for binary assets and add standard Unreal Engine .gitignore/.gitattributes. Co-authored-by: Cursor <cursoragent@cursor.com>
46 lines
1.8 KiB
Markdown
46 lines
1.8 KiB
Markdown
# 09 — Enemy AI Static Analysis
|
|
|
|
**Status: Draft**
|
|
|
|
- **Scope (Batch 1 seed):** Native enemy class only + Blueprint child path seeds. No Behavior Tree assumption. No deep enemy Blueprint graph walk yet.
|
|
- **Inspection method:** Read `ARIRBaseEnemyCharacter`; calibration prior (no BT/BB/custom AIController assets); subclass path search.
|
|
- **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 9
|
|
|
|
## Draft tracking
|
|
|
|
### Completed sections
|
|
- Native enemy ASC ownership and highlight interface
|
|
- Confirmation: no chase/attack/MoveTo in native C++
|
|
- Blueprint child paths
|
|
|
|
### Pending sections
|
|
- BP_EnemyCharacterBase / BP_Enemy_Skeleton graphs (Tick, overlaps, MoveTo, timers)
|
|
- AIControllerClass / AutoPossessAI on CDOs
|
|
- Reconfirm BT asset absence
|
|
|
|
### Evidence still required
|
|
- Where chase/attack was intended to live (Blueprint vs missing)
|
|
- Runtime root cause of nonfunctional chase/attack — Requires Runtime Inspection
|
|
|
|
---
|
|
|
|
## Native findings
|
|
|
|
**Observed Implementation:** `ARIRBaseEnemyCharacter` implements:
|
|
|
|
- ASC + AttributeSet on self (Minimal replication)
|
|
- InitAbilityActorInfo(this, this) in BeginPlay
|
|
- ITargetInterface highlight via custom depth
|
|
- Visibility collision on mesh
|
|
|
|
**Observed Implementation:** No AIController subclass, no MoveTo, no perception, no attack timers in native.
|
|
|
|
**Calibration (prior Observed Implementation):** Stock `/Script/AIModule.AIController`; AutoPossessAI PlacedInWorld on skeleton instance; no project BehaviorTree assets.
|
|
|
|
**Issue:** Existing Baseline Defect (enemy chase/attack nonfunctional per project brief). Static native code alone cannot confirm root cause.
|
|
|
|
**Blueprint seeds:** `BP_EnemyCharacterBase`, `BP_Enemy_Skeleton`.
|