Files
realms-in-ruin-dev/Documentation/Archaeology/09-EnemyAI-StaticAnalysis.md
T
tedwardsandCursor ff5640a020 Establish UE 5.8 known-good baseline with Batch 1 archaeology docs.
Initialize Git with LFS for binary assets and add standard Unreal Engine .gitignore/.gitattributes.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-16 19:40:19 -07:00

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.