Action Set Editor

Documentation Unreal Engine AI Actions Debugging

Author an enemy's moveset on a canvas and watch the AI choose between those actions while the game runs.


Double-click an Action Set to lay its actions out as cards, wire up combos, and watch a live enemy decide between them.
The Action Set canvas during Play In Editor: DoubleAttack outlined in green with a RUNNING badge, SingleAttack, Dash and TripleAttack in amber with COOLDOWN badges, score bars and ready-in countdowns, and a wire running from SingleAttack to Dash

When to Use This

Open an Action Set here when you want to see the whole moveset at once, build a combo, or find out why an enemy is not using an attack you expected.
The canvas is where actions are added, removed and wired. The full Actions list is still reachable under Advanced in the panel on the right when no card is selected, for reordering or editing several actions at once.

Reading a Card

One card stands for one action. Everything on it comes from that action's settings, so a card is a summary you can read without opening anything.
RowShows
Chip and titleThe execution method's family (Ability, By Tag, Burst, Tree, Custom) and the action's Action ID.
Execution lineThe execution method's own name, such as the ability class it runs. An action with nothing usable set says so in red.
Statsw is Selection Weight, cd is Cooldown Duration. risk appears when Risk Penalty is not 1, max when Max Consecutive Uses is set.
BandThe sweet spot of the action's Distance Scorer, in centimetres. Absent when the action has no Distance Scorer, which means it ignores distance.
BadgesHow many scorers and gates the action carries, whether it has a lifecycle hook, and its own recovery time when it overrides the config's.
Chain rowsOne line per follow-up: the action it prefers next and the bonus that follow-up receives.
Hover a card for the same information as sentences, including anything the rows abbreviate.
A card greys out when its Enabled box is unticked. A warning triangle appears when something about the action would stop it working: no execution method, an empty or repeated Action ID, or a chain link naming an action this set does not define. Hover the triangle to read which.
AdvancedZoom, layout, and where positions are stored
The fine rows drop away as you zoom out, leaving the chip and the title, so a large moveset stays readable at a distance.
Card positions are editor data saved on the asset. An Action Set that has never been opened on the canvas gets a grid layout the first time you open it, and you can drag cards anywhere from there. Nothing about how the AI runs depends on where a card sits, so a layout is free to be about readability.
Give a card its own colour with Use Custom Color and Custom Node Color on the card, which is useful for marking a phase-two moveset or a set of openers.

Adding and Removing Actions

Right-click empty canvas and choose Add Action. A card appears where you clicked and a matching entry is added to the asset, seeded with an ability execution method so it runs as soon as you pick an ability.
Right-click a card for Toggle Enabled and Delete. Both apply to every selected card, so switching a group of openers off is one action. A mixed selection switches all of them on first, which makes a second use switch the whole group off together.
Deleting a card removes the action from the asset and strips every chain link that named it, so no combo is left pointing at a missing action.
Copy, cut, paste and duplicate work as they do in any Unreal graph. A pasted card gets a fresh Action ID and its own copies of the original's scorers, gates, hook and execution method, so editing the copy leaves the original alone.
Copying a card from one Action Set and pasting into another carries only the name. An action's settings live in the asset that holds it and cannot travel on the clipboard, so the pasted card arrives as a new empty action and says so in the message log. To reuse a tuned action across sets, copy its settings across in the details panel.

Editing One Action

Select a card and the details panel shows that action on its own, its groups laid out flat instead of nested inside an array row. Select nothing, or several cards, and the panel goes back to the hint and the Advanced list.
The Action ID row renames the action. Every chain link that named the old ID follows the rename, across the whole set, in one undo step. An empty name, or one another action already uses, is refused with the reason shown as you type.
Action ID is what a chain link names and what cooldown tracking keys on. Renaming through this row keeps those in step. Renaming through the raw Actions array does not, and leaves any link that named the old ID pointing at nothing, which the card then flags with a warning.

Building a Combo

Drag from the right edge of one card to the left edge of another. The wire means the first action prefers the second as its follow-up: once the first one finishes, the second gets a score bonus for a short window.
An action can prefer several follow-ups, each with its own bonus. The wire thickens and brightens as the bonus rises, so a strong combo pull is visible across the whole canvas without opening anything.
Chaining
Target Action ID
HeavyFinisher
Bonus Multiplier
1.5
Target Action ID names the follow-up. Bonus Multiplier is what that follow-up's score is multiplied by while the window is open: 1.5 makes it half again as likely, 2.0 doubles it, 3.0 gives a strong pull, and 1.0 keeps the link without changing the score.
Wiring a card writes the link with the default bonus. Change the number in the details panel and the wire redraws to match.

A combo the player can break

A chain bonus raises a score, it does not force a move. If the player rolls out of range before the follow-up would land, its distance scorer drops it and the AI picks something else. The combo bends instead of swinging at air.

AdvancedWindow length, and why a bonus is not a guarantee
The window comes from Chain Followup Window Seconds on the Action Evaluation component, measured from the moment the first action ends. Default is 0.6 seconds. Set it to 0 to switch chaining off for that AI.
Inside the window, a chain target also bypasses the post-action recovery gate, which is how a combo continues while other offence stays held back. Everything else about the follow-up still applies: its cooldown, its gates, its own scorers. A bonus multiplies a score that has already survived all of them.
The bonus lives on the action that starts the combo, alongside the name of the follow-up it points at. Removing a wire removes that link and leaves any other link on the same card untouched.

Watching the AI Decide

Press Play and the canvas starts following a live enemy. The picker above the canvas lists every AI running this Action Set and latches onto the first one it finds, so a single enemy needs no setup at all.
The cards you author on are the cards that light up. There is no second window to read and no separate view to switch to, so a score you disagree with is one click from the setting that produced it.
RUNNING
Executing right now
One card at a time. Outranks every other look, so a running action still reads as running.
TOP PICK
Scored highest this round
What the AI would pick next if it picked at this moment.
COOLDOWN
Waiting out its cooldown
The card counts down the seconds left, and the bar fills back up as it recovers.
BLOCKED
A gate refused it
The card names the gate that said no: a missing tag, no line of sight, not enough stamina.
OFF
Switched off in the asset
Enabled is unticked, so nothing considers it.
Each card also carries a bar showing how it scored against the best action that round, with the time left on its cooldown drawn behind the fill. A card that a gate refused prints the reason where its score would go.
When the AI is inside its post-action recovery window, the bar above the canvas says so and counts down, which explains a pause where every card looks available but nothing fires.

Switching Enemies

Pick another entry from Watching to follow a different enemy mid-fight. Two enemies running the same Action Set will often be scoring it differently, and comparing them is the fastest way to see a role or a distance band doing its job.
If the enemy you are watching dies, the canvas attaches to another one running the same set, or falls back to nothing if there are none left.
Tuning weights, ranges, tag multipliers and chain bonuses while the game runs is safe and takes effect on the next decision. Adding, deleting or renaming an action mid-play is not: a running action holds a reference into the action list. The editor warns you once per session when you do it, and the fix is to restart Play In Editor.
MultiplayerMultiplayer and dedicated servers
Action selection runs wherever the AI's decisions are made, so the canvas follows the authoritative copy of each enemy. Under Play As Client the picker lists the server's enemies rather than the client's, which is why an enemy visible on your screen and the entry you are watching are the same AI seen from the side that decides.
A dedicated server launched as its own process cannot be inspected from the editor, because it has no world in the editor's process. Run the server in-process to watch its enemies.
AdvancedWhat the live view costs
Recording the per-action reasoning is asked for by the open editor and released when it closes, so an AI nobody is watching does the same work it always did.
None of it exists in a packaged game. The recording, the picker and the canvas are editor-only, so a shipped build carries no part of this.
C++Reading the scoring in the log instead
For a record you can scroll back through, or for an AI you cannot see on the canvas, the component still logs its reasoning:
// On ActionEvaluationComponent:
ActionEvalComp->bDebugLogDecisions = true;  // Log the scoring breakdown
ActionEvalComp->bDebugLogExecution = true;  // Log the execution flow
SEC.Debug.LogActionDecisions 1 does the same globally without touching a component.
GetAllScoreBreakdowns returns the same per-action figures the canvas draws, as an array you can read from Blueprint for a custom debug widget.

Integration Points

SystemHow It Connects
Action SystemThe scoring, gates and execution methods every card shows
Combat RolesA role change swaps the Action Set, and the canvas detaches when the AI it was watching moves to a different one
VitalsA Vital Gate refusing an action is what a BLOCKED card reports
StateTree IntegrationThe Poll Action task is what asks for the decision the canvas draws