VicAgent - Modular AI System

Modular AI System



A modular and extensible AI framework for Unreal Engine designed to create enemies, NPCs, companions, bosses, and large groups of AI characters without locking your project into a rigid gameplay implementation.

The system combines reusable C++ architecture with Blueprint-friendly configuration, allowing you to build both lightweight AI and more complex Behavior Tree driven enemies.

Pick your AI Controller. Choose your Behavior Tree. Customize your Action Data. Build your enemy.

Clean, modular, and extensible architecture with no dependencies on your project classes.

Key Features
  • Modular C++ AI architecture

  • Blueprint-friendly workflow

  • Ready-to-use AI Controllers

  • Behavior Tree integration

  • Lightweight AI Controller for large groups, hordes and roguelite-style enemies

  • Melee, ranged and boss-oriented behavior examples

  • Configurable AI actions using Data Assets

  • Modular action and pattern system

  • Support for attack, wait, reposition, charge, summon and custom actions

  • Target detection and configurable sensing distances

  • Chase, combat and movement logic

  • Animation Montage integration

  • Multi-section animation support

  • Enemy, NPC and companion support

  • Spawn system for enemies and NPCs

  • Easy integration with existing Characters and Pawns

  • Designed to work alongside custom health, combat, inventory and interaction systems

  • Multiplayer-friendly architecture

  • Fully extendable in C++

Included Content

The plugin includes 19 ready-to-use Blueprints that demonstrate and expose the main systems included in the framework.

An additional 4 demo Blueprints are included to provide practical implementation examples and help you quickly understand how the different AI modules work together.

The included examples cover common enemy behaviors and can be used as templates for your own AI characters.

Modular Action System

Actions are separated from the AI decision-making logic.

The AI Controller and Behavior Tree decide when an action should be executed, while the Character or its AI Action Component defines how that action is performed.

This separation makes it easier to reuse the same AI architecture across different characters while keeping animations, attacks, abilities and character-specific behavior modular.

Actions can be selected and configured using Data Assets, Gameplay Tags and Blueprint logic.

Action Patterns

The system includes support for configurable action patterns, especially useful for bosses and more complex enemies.

Patterns can combine different actions such as:

  • Attacks

  • Delays

  • Repositioning

  • Charge actions

  • Summoning

  • Custom gameplay actions

The included Blueprint examples provide reusable pattern templates that can be expanded to create more complex combat sequences.

The Behavior Tree remains responsible for deciding when the AI should execute an action. The pattern system determines which action should be executed next.

Lightweight and Behavior Tree AI

The plugin supports two different approaches depending on the complexity of your AI.

Lightweight AI can be used for simple enemies, roguelites and large groups where a full Behavior Tree may not be necessary.

Behavior Tree AI provides more structured decision-making for enemies requiring additional states, combat logic, repositioning or complex behaviors.

Both approaches use the same modular architecture and can coexist inside the same project.

Designed For

  • Action Games

  • RPGs

  • Roguelites

  • Shooters

  • Survival Games

  • Horde Games

  • Enemy Systems

  • NPC Systems

  • Companion AI

  • Boss AI

  • Multiplayer Games

The goal of Modular AI System is to provide a reusable AI foundation that can scale from simple enemies to more complex encounters without forcing gameplay-specific logic into the core framework.

📚 Full Documentation

💬 Discord community & Support

Required Plugins:
• Enhanced Input (built into Unreal Engine). Must be enabled to use the included demo's player input.