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
- Documentation: 中文 英文
- Playable Demo: https://cloud.yuewu.dev/s/qNTK
- Community / Support: Discord
- Video Tutorials: YouTube Bilibili
- Feature List: Feature List
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.
Organize related units into manageable squads
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:
StateTreeGameplayStateTreeModularGameplayGameplayAbilities
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
