Hakan Erunsal - Soulslike Enemy Combat

Soulslike Enemy Combat is enemy AI for souls-like and action games in Unreal Engine 5.6, 5.7 and 5.8. Version 3.2.

Get it on Fab | Documentation | Overview video | Discord

What you can do with it

  • Give your enemies spacing: they strafe, circle and hold the range their moveset wants instead of walking straight at the player. Guide

  • Make a group take turns: one enemy swings while the rest circle and wait, with attack tokens and combat roles (Attacker, Flanker, Waiter, Supporter, Elite). Guide

  • Make enemies parry, dodge and counter: they read the telegraph on the player’s swing and pick an answer. Guide

  • Build a boss: an Elite role, a second moveset at a health threshold, an arena trigger that opens and ends the fight, and one place to bind the boss bar. Guide

  • Let enemies see, hear and sense the player, search the last known spot, and walk back to their post when the trail goes cold.

  • Pick each attack by score (distance, angle, health, tags, cooldowns, combos), and watch every action score live in the Action Set editor while you play.

  • Land hits with swept weapon traces that do not miss at low frame rates, with guard, parry, block and damage rules.

How it fits your project

  • Set up in Data Assets, Project Settings and Blueprint. No C++ needed; the full C++ source is included.

  • The enemy runs on its own with no StateTree or Behavior Tree authored, or from a StateTree or Behavior Tree you point it at. Attacks are Gameplay Ability System abilities.

  • Multiplayer: every decision runs on the server, on a listen server or a dedicated server.

  • Includes a demo level with working enemies, weapons and a boss fight.

  • Ships an AGENTS.md guide for AI coding assistants: hand it to Claude Code, Codex or Cursor with your mesh and animations, and it builds an enemy in your open editor.

:gear: Required plugins (all built into Unreal Engine): GameplayAbilities, StateTree, GameplayStateTree, MotionWarping, AnimationWarping, EnhancedInput.

Not a game template, and not player combat: your player character, its moveset and camera stay yours.

Start here: Souls-like Enemy Combat in Unreal Engine 5: Where to Start

This plugin now supports multiplayer. I kept updating it for the existing users requests for more modularity and ease of use.

Soulslike Enemy Combat 3.2 is out, with a new overview video:

What you can do with it:

  • Give every enemy a combat role. Attackers press in, the rest flank, circle or wait their turn, and you can cap how many attack at once with attack tokens.
  • Watch every action live as you play: picked, running, cooling down or blocked.
  • Let enemies see, hear and sense the player, build up suspicion, investigate the last known location and walk back to their post.
  • Give each enemy posts and a leash, so it guards its ground and gives up a chase it can’t win.
  • Make enemies read the telegraph on your attack and answer with a parry, a dodge or a counter.
  • Name places and open boss fights with one trigger, and bind a boss bar in one place.
  • Run it from State Tree, Behavior Tree or plain Blueprint, in single player and multiplayer.

New in 3.2: the plugin ships an AGENTS.md guide for AI coding assistants. Hand it to your assistant with your mesh and animations and ask for an enemy. It builds the montages, action sets and AI config with the plugin’s own editor tools.

Supports Unreal Engine 5.6, 5.7 and 5.8.

Documentation: Soulslike Enemy Combat: Enemy AI for Unreal Engine 5 | Rigbak
Discord: Rigbak UE Plugins