Soulslike Enemy Combat Plugin
Unreal Engine AI Combat System Plugin Soulslike
Enemy combat AI for Unreal Engine 5.6, 5.7 and 5.8: tactical movement, scored attacks, reactions, awareness, territory and boss encounters, in single player and multiplayer.
Soulslike Enemy Combat
Soulslike Enemy Combat gives your enemies their fight in Unreal Engine 5.6, 5.7 and 5.8. You can build an enemy that notices you, guards its ground, picks its attacks by score, parries and dodges, and waits its turn in a group, all set up in data assets and Blueprints. It runs in single player, on a listen server and on a dedicated server.
You get the full C++ source, a Blueprint node for every system, and a demo map with working enemies and a boss fight. You can also hand the included AI guide to your own coding assistant, and it builds an enemy from your mesh and animations.
Documentation
- Start-here guides
- Every system, step by step
- Multiplayer and C++ detail
Systems
| System | What You Can Do |
|---|---|
| Movement | Keep an enemy at its fighting distance: it samples 16 directions, strafes and rests, steers around other enemies, and follows the navmesh when the target is far. |
| Actions | Score each attack by distance, angle, health and your own scorers, chain attacks into combos in the Action Set graph, and run each one as a Gameplay Ability, a Behavior Tree or your own execution method. |
| Reactions | Answer a hit or a telegraphed attack with a parry, block, dodge or counter, picked by priority. |
| Defense | Parry and block with one Guard rule, give armour against a damage type with Scale Damage, and give a dodge its invulnerability frames. |
| Combat Roles | Give each enemy in a group a role, such as Attacker, Flanker or Waiter, and let one enemy swing at a time with combat tokens. |
| Awareness | Let an enemy notice you by sight, hearing and damage, investigate, search your last known spot, then forget you. |
| Territory | Give an enemy a guard post or a patrol route, and a leash that walks it home. |
| Threat Detection | Have an enemy back off or switch its strafe direction when the player keeps the camera on it. |
| Targets and Teams | Point enemies at the player, at another faction, or at everyone in a free-for-all. |
| Melee Trace and Vitals | Detect hits with frame-rate independent swept traces from animation notifies, and give enemies health, stamina and stance bars. |
| Encounters | Name a place or open a boss fight your HUD binds to; the fight ends once every enemy in the arena is down. |
| Determinism | Seed an enemy's choices so a fight repeats the same actions and timings. |
| AI-Ready | Hand the AGENTS.md guide to your AI coding assistant, and it builds an enemy, its weapon, attacks and reactions in your editor. |
A StateTree decides what an enemy does, and each attack runs as a Gameplay Ability or a short Behavior Tree. Leave the StateTree out and the built-in brain runs the combat loop for you. Each enemy's setup lives in an AI Config data asset, so you can give two enemies different movesets, roles and senses without code.
This started from years of building combat systems for commercial mobile games and action prototypes. I kept solving the same problems: getting AI to feel responsive, movement to look natural, and architecture to not collapse as complexity grew. So I packaged it into something reusable. The whole thing is built on the same StateTree/BehaviorTree hybrid pattern used in professional action games, and it ships with multiplayer support out of the box.
What Developers Are Saying
I finally found the system I think I'll be using for a long time. Pretty painless to actually go through the setup. It uses gameplay tags, which are really easy to work with and keep things clean and organized. I'm happy about finding this plugin and can't wait to tinker with the config settings.
Excellent plugin. In my case, it covered about 80-90% of my AI implementation needs. I really liked the system architecture, which supports modularity and the creation of different presets for different types of mobs, while still allowing individual presets to be reused. The author responds quickly to feedback, makes updates promptly, and actively works with the community.
This is some high-quality engineering and documenting. The various parts are highly modular and customizable, and the documentation is expansive. Incredible value for how much time you'd save trying to implement your own system as a solo dev or small team. The author is incredibly helpful in the Discord server.