Core Architecture
Understanding the StateTree + Behavior Tree hybrid architecture used in professional action games.
The StateTree + Behavior Tree Hybrid
This plugin implements the AAA-standard AI architecture used in professional action games. Understanding this architecture is key to using the plugin effectively.
Why This Architecture?
The Problem with Traditional Approaches:
Most developers build AI using a single massive Behavior Tree. This leads to:
- ❌ Unmaintainable trees with hundreds of nodes
- ❌ Mixed concerns (strategy + execution in one place)
- ❌ Difficult debugging and iteration
- ❌ Poor scalability as complexity grows
The Professional Solution:
Separate strategic thinking from tactical execution:
StateTree (The Brain) - High-level decision making:
┌─────────────────────────────────────┐
│ StateTree: Strategic Layer │
├─────────────────────────────────────┤
│ • Evaluates combat context │
│ • Scores available actions │
│ • Manages state transitions │
│ • Controls movement strategy │
│ • Handles target acquisition │
└─────────────────────────────────────┘
↓
┌─────────────────────────────────────┐
│ Action Execution: Tactical Layer │
├─────────────────────────────────────┤
│ Option A: Gameplay Ability │
│ → Simple: Play montage, apply dmg │
│ │
│ Option B: Behavior Tree Sequence │
│ → Complex: Multi-step, branching │
└─────────────────────────────────────┘
Benefits:
✅ Clear Separation - Strategy decisions separate from action execution
✅ Scalability - Add new actions without touching state machine logic
✅ Debuggability - Isolate issues to strategy or execution layer
✅ Maintainability - Each layer has single responsibility
✅ Industry Standard - Same pattern used in major action games
Pro Tip: When to Use Each Execution Mode Use Gameplay Abilities for simple attacks (play montage → damage). Use Behavior Tree sequences for complex multi-step actions with conditional branches (charge attack → check stamina → branch to heavy or light version).
System Flow
- StateTree polls
ActionEvaluationComponenteach tick - Component gathers context: distance, angle, health, threat, tags
- ActionSet scores all available actions using:
- Distance and angle evaluations
- Health-based modifiers
- Cooldown status
- Context tags (player blocking, low health, etc.)
- Novelty decay (anti-repetition)
- Best action selected and executed as:
- Gameplay Ability (via AbilitySystemComponent), OR
- Behavior Tree sequence (via temporary BT component)
- Movement system evaluates 16 directions simultaneously:
- Scores each for distance, angle, avoidance
- Blends pathfinding with direct input
- Applies strafing, retreat, or approach behavior

What It Is / What It's Not
What SoulslikeCombat IS
✅ Production-Ready Enemy AI - Intelligent tactical combat behaviors
✅ Modular Component System - Mix and match for different enemy types
✅ Data-Driven Configuration - Designers tune without code
✅ Blueprint-Friendly - Full Blueprint support, C++ optional
✅ Demo-Included - Working enemy to study and extend
✅ Professionally Architected - AAA-standard StateTree/BT hybrid
✅ Scalable - Works for simple enemies and complex bosses
✅ Keeps Improving - I develop games with the systems I have made. So this plugin will keep improving!
What It's NOT (Yet)
❌ NOT a Complete Game Template - Combat systems only, not a full game
❌ NOT Player Character Combat - Focused on enemy AI (player template coming Q1 2025)
❌ NOT Multiplayer-Ready - Single-player focused (replication planned Q2 2025)
Scope & Expectations
This plugin provides:
- Enemy AI decision-making and tactical movement
- Melee combat hit detection
- Action scoring and execution framework
- Multi-enemy coordination
- Component-based architecture
You still need in order to make a game:
- UI/HUD (health bars, lock-on indicators, damage numbers)
- Level design and encounter placement or spawning the enemies
- Progression and difficulty balancing
