Initialize Git with LFS for binary assets and add standard Unreal Engine .gitignore/.gitattributes. Co-authored-by: Cursor <cursoragent@cursor.com>
1.8 KiB
1.8 KiB
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.