An Action performs behavior while a state is active. Use Actions for work such as moving toward a target, playing an animation, changing a value, triggering an effect, or calling another gameplay system.

Most project-specific State Designer behavior belongs in an Action. States organize that behavior into modes, while Conditions decide when transitions may move the state machine to another mode.

In the editor

For a GameObject workflow, select an Action State, add the Actions that should run in that state, and configure each Action in the Element Inspector. The same Action type can be reused in multiple states with different values.

An Action State can run its Actions as a Sequence or in Parallel. Choose Sequence when one Action should finish before the next starts. Choose Parallel when the Actions should run together.

Entity Actions use the ECS workflow and appear as their own state logic rather than as GameObject Actions inside an Action State. Choose that workflow when the project already uses ECS or profiling shows that the behavior must scale across many entities.

Use Action list controls

An Action State’s list supports Enable/Disable, drag reordering, + to open the searchable Action selector, and to remove the selected row. Search, Favorites, Recent, Documentation, and the Kind, Member, Scope, Returns, Requires, and Execution filters work as described on the States page, but the results are limited to compatible Actions.

Right-click an Action row for Replace, Rename, Edit Script, Locate Script, Copy, Paste, Duplicate, or Delete. Copy, Duplicate, and Delete can use a multi-row selection; Replace and Rename require one row. Right-click blank list space to paste copied Actions. Dragging a GameObject or Component onto a supported Action State area opens a filtered Action selector and assigns the target automatically.

The Element Inspector gear provides Edit Script, Locate Script, and Reset for the selected Action. A watch icon shows a supported field’s live value on the State without affecting execution. Serialized list edits are unavailable in Play Mode.

Movement Action Base settings

Setting Default Description
Auto Add Movement Agent true Automatically add a MovementAgent when the target does not already contain one.
Stop On End true Stop and clear the provider path when the action ends.
Allow Partial Path false Allow a partial path to remain active instead of treating it as a terminal result.
Use Timeout false Enable the action timeout.
Timeout 10f The maximum active action duration.
Fail When Stuck true Treat lack of provider progress as a terminal result.
Path Validation Grace 0.2f The delay after setting a destination before validating the resulting path.
Result Default Receives the detailed movement result for state-machine transitions.

Movement Control Actions settings

Suspend Movement settings

Setting Default Description
Result Default Receives the detailed suspension result.

Resume Movement settings

Setting Default Description
Complete Traversal Default Complete the pending provider traversal link before resuming movement.
Result Default Receives the detailed resume result.

Patrol Wander Cover settings

Patrol settings

Setting Default Description
Waypoints Default The patrol waypoint GameObjects.
Route Mode Sequential The route selection mode.
Arrival Distance 0.25f The waypoint arrival distance.
Dwell Duration Default The dwell time at each waypoint.
Required Cycles Default The number of completed cycles required before success. Zero patrols continuously.
Skip Invalid Waypoints true Skip an invalid waypoint instead of ending the action.
Maximum Recovery Attempts 3 The maximum invalid waypoints that can be skipped consecutively.

Patrol Route Mode values: Sequential, PingPong, Random.

Wander settings

Setting Default Description
Distance 8f The forward distance of a desired wander destination.
Maximum Angle 90f The maximum random heading change per destination.
Sample Distance 3f The maximum provider sampling radius around a desired point.
Sample Attempts 8 The number of bounded sampling attempts per destination.
Arrival Distance 0.25f The waypoint arrival distance.
Dwell Duration Default The dwell time at each wander destination.
Required Destinations Default The number of destinations required before success. Zero wanders continuously.

Move To Cover settings

Setting Default Description
Threat Default The threat that the cover should block.
Cover Layers ~0 The layers containing potential cover geometry.
Occupancy Layers Default The layers that prevent selection of an occupied cover point.
Search Radius 15f The radius searched for cover geometry.
Cover Offset 0.5f The distance placed beyond the far side of the cover bounds.
Sample Distance 2f The provider sampling radius around each cover candidate.
Occupancy Radius 0.5f The occupancy test radius around a candidate.
Arrival Distance 0.25f The distance at which the cover point counts as reached.
Stable Arrival Duration 0.15f The uninterrupted arrival duration required before success.
Maximum Cover Candidates 64 The maximum number of cover colliders considered per search.
Maximum Occupancy Results 16 The maximum number of occupancy colliders considered per candidate.

Pursue Evade settings

Pursue settings

Setting Default Description
Pursuit Target Default The target to pursue.
Arrival Distance 0.5f The distance at which pursuit succeeds.
Maximum Prediction 1.5f The maximum number of seconds to predict ahead.
Default Agent Speed 3.5f The fallback movement speed used when the provider is currently stationary.
Replan Interval 0.1f The interval between pursuit replans.
Replan Distance 0.1f The destination movement required before issuing a replacement path request.
Stable Arrival Duration 0.1f The uninterrupted arrival duration required before success.

Evade settings

Setting Default Description
Threat Default The moving threat to evade.
Evade Distance 8f The distance of each evade destination from the current position.
Safe Distance 10f The threat distance that counts as safe.
Safe Duration 0.25f The uninterrupted safe duration required before success.
Maximum Prediction 1f The maximum number of seconds to predict the threat ahead.
Replan Interval 0.15f The interval between evade replans.
Candidate Count 7 The number of bounded angular candidates evaluated per replan.
Candidate Angle 25f The angular spacing between evade candidates.
Sample Distance 2f The maximum provider sampling distance around a candidate.

Seek Follow Flee settings

Seek settings

Setting Default Description
Destination Source GameObject The source used to resolve the destination.
Destination Game Object Default The destination GameObject.
Destination Position Default The destination position.
Arrival Distance 0.25f The distance at which the destination counts as reached.
Stable Arrival Duration 0.15f The uninterrupted arrival duration required by Stable Arrival mode.
Completion Mode MovementCompletionMode.Arrival How the action completes after reaching or tracking the destination.
Duration 1f The active duration used by Duration completion mode.
Replan Interval 0.1f The minimum time between moving-target replans.
Replan Distance 0.1f The minimum destination displacement required for a moving-target replan.

Destination Source values: GameObject, Position.

Movement Completion Mode values: Arrival, StableArrival, Duration, Continuous.

Follow settings

Setting Default Description
Follow Target Default The GameObject to follow.
Minimum Distance 1.5f The closest desired distance from the target.
Maximum Distance 3f The furthest desired distance from the target.
Hysteresis 0.2f The distance hysteresis that prevents rapidly changing between approach and retreat.
Replan Interval 0.1f The interval between destination corrections.
Face Target Default Rotate toward the target while maintaining the distance band.
Rotation Speed 360f The maximum facing rotation speed in degrees per second.
Completion Mode MovementCompletionMode.Continuous How the follow action completes.
Stable Duration 0.25f The uninterrupted in-band duration required by Stable Arrival mode.
Duration 1f The active duration used by Duration completion mode.

Movement Completion Mode values: Arrival, StableArrival, Duration, Continuous.

Flee settings

Setting Default Description
Threat Default The threat to flee from.
Flee Distance 10f The distance of each flee destination from the current position.
Safe Distance 12f The threat distance that counts as safe.
Safe Duration 0.25f The uninterrupted safe duration required before success.
Replan Interval 0.25f The interval between flee destination updates.
Sample Distance 3f The maximum provider sampling distance around the desired flee point.

How it runs

When a state becomes active, its Actions perform the work for that mode. In a Sequence, the state advances through its Actions in order and finishes after the final Action completes. In Parallel, the Actions start together and the state finishes after all active Actions complete.

Actions do not decide transitions. Conditions on outgoing transitions determine whether the state machine can leave the current state. Keeping behavior in Actions and decisions in Conditions makes the graph easier to read and debug.

Key choices and example

Create an Action when something should happen in the game. Create a Condition when the state machine only needs to answer a yes-or-no question before taking a transition.

Keep each Action focused on one job. Smaller Actions are easier to reuse, configure, and combine than one Action that controls an entire behavior.

For example, a Chase state can combine one Action that moves toward a target with another that turns to face it. Conditions on its outgoing transitions can check whether the target is close enough to enter Attack or has been lost so the state machine should return to Patrol.

For most custom behavior, start with a GameObject Action. Use an Entity Action for data-oriented behavior that needs ECS execution, and optimize only where the project benefits from it.

Use Built-in Actions to choose a category before searching the Action selector. The selector remains the source of truth for capabilities supplied by currently installed integrations and project code.