Unreal Engine - Generic AI System

Generic AI System is a Multi Unit Command, Squad, Formation & Tactical AI Framework designed for Unreal Engine 5.

GAIS_Cover
罗传月武(YueWu)

Author

罗传月武(YueWu)

专注游戏开发和Web技术。

Created: Apr 16, 2025Updated: Sep 10, 2026

Table of contents

Full Documentation

This knowledge base will be continuously updated based on user feedback.

For Sample project and migration guide: Visit Preparation.

For the latest documentation based on the latest source code, please visit: https://yuewu.dev/en/docs/GenericAISystem

Overview

Generic AI System is a reusable, extensible game AI framework for Unreal Engine 5. It turns player or AI intent into coordinated commands, squads, formations, tactical assignments, and layered StateTree behavior.

Documentation and Support

Why Generic AI System?

One AI Actor is usually manageable. The hard part begins when several units must share commands, roles, formations, targets, tactical work, and long-running behavior while different systems keep asking who should do what, why, and how far the work has progressed. Without a stable orchestration model, integration and maintenance costs across those systems keep rising.

  • How do player orders, scripted actions, and AI decisions share one command lifecycle?
  • How do units become squads with roles, capacity, formations, and shared state?
  • How do formations produce per-unit movement intent without replacing the movement system?
  • How do goals such as attack, defend, support, hold, or interact become validated unit assignments?
  • How do long-running modes and short ordered tasks run in StateTree without becoming one oversized behavior asset?

Key Features

Use one Command System for orders and AI decisions

Command System provides validation, immediate execution, queues, insertion, cancellation, terminal results, and replaceable execution definitions. Player input, scripted events, and AI decisions can share the same lifecycle, while Command Intent translates one high-level request into the concrete command each unit can execute.

Squad System manages membership, roles, capacity, formations, shared state, and whole-squad commands. It can create or reorganize squads from live units, refill missing roles, and let StateTree react when membership, role occupancy, or composition changes.

Let Formation output movement intent

Formation System supports reusable formation assets, weighted / tagged slots, runtime layout switching, and navigation adaptation. It produces per-unit Movement Intent, then connects to CharacterMovement or project-specific movement through drivers. Modifiers can temporarily adjust spacing, speed, facing, or tactical offsets.

Assign tactical work to suitable units

Tactical Assignment turns high-level goals into unit-to-target work by combining candidate sources, filters, scoring, allocators, and target claims. It can use squad members, roles, supplied actors, EQS results, or project-specific sources, then reevaluate as the battlefield changes.

Layer StateTree behavior instead of growing one asset forever

StateTree Stack uses named layers, priority, overrides, and restoration to split and decouple complex AI behavior while supporting long-running modes. StateTree Queue runs short ordered work. Command System can also temporarily take over the current AI behavior at the highest priority.

Deep Gameplay Debugger integration

Rich Gameplay Debugger integration is built in, giving you a clear way to inspect the current state of different subsystems while developing and debugging.

Best Fit For

  • Real-time tactics and squad-command games
  • Squad-based action, strategy, and RPG projects
  • Companion, party, patrol, and controllable-unit gameplay
  • AI-heavy projects that need multi-unit coordination rather than isolated behavior actors
  • Teams using StateTree, Gameplay Ability System, EQS, Gameplay Tags, or custom movement / combat systems
  • Projects that already have movement, combat, animation, or UI systems and need a reusable coordination layer between them

GAIS does not replace your movement, combat, animation, or UI implementation, and it is not a pile of StateTree templates. It is the coordination layer that decides how commands are issued, how units form groups, how formations express targets, how tactical work is assigned, and how StateTree carries persistent and temporary behavior.

Technical Details

Code Modules:

  • GenericAISystem (Runtime)
  • GenericAIEditor (Editor)

Plugin Dependencies:

  • StateTree
  • GameplayStateTree
  • ModularGameplay
  • GameplayAbilities

Number of Blueprints: Provided with the companion project

Number of C++ Classes: 100+

Network Replicated: Yes

Supported Development Platforms:

  • Windows: Yes (Win64)
  • Mac: Yes

Supported Target Build Platforms: Win64, Mac, Android, Linux

Companion Project: Provided after purchase through purchase verification

Important/Additional Notes: See my overall product design