Skip to main content
Version: 0.13.0

Actions Definitions

Actions are the smallest practical building blocks in a behaviour tree.

Jobs, duties, tasks, methods, and needs all eventually resolve down to actions. That means action choice has a big effect on how believable and reliable your agents feel in the world.

This page describes the built-in action types in the current V3 action collection and explains when to use them.

Actions

Idle

The agent stops movement and remains where it is.

Use this when you want a behaviour step to intentionally do nothing for a moment or when movement should be suppressed.

Pick Up

Used to equip a matching item.

Behavior summary:

  • if the agent already carries a matching item, it equips that item
  • otherwise it searches a very local area around the agent
  • if it gets within range of the found item, it attempts to pick it up

Use this when the item should be physically acquired, not just approached.

Best practice: in most workflows, use Locate first so the agent deliberately moves to a valid target before trying to pick it up.

Drop Off

Drops a matching carried item if the agent currently has one.

Use this to return, discard, or place an item back into the world as part of a larger sequence.

Mount

Attempts to mount a compatible mountable item.

Behavior summary:

  • finds a matching mount target
  • moves toward a valid seat or mount point
  • uses the free seat if the mount has space available

Use this for seats, benches, mounts, or similar occupancy-driven interactions.

Dismount

Removes the agent from its current mount.

If the underlying mount has dedicated dismount or mounting positions, those are used. Otherwise the link is simply cleared.

Locate

Moves the agent to the nearest matching item.

Behavior summary:

  • if the agent already carries a matching item, the action can succeed immediately
  • otherwise it searches for the closest valid item using the current filters
  • once the agent reaches the goal location, the action succeeds

Use this when you want deterministic nearest-target behavior.

Locate Random

Moves the agent to a random matching item rather than the nearest one.

Use this when you want variety in agent behavior or when many equivalent targets exist and always choosing the nearest would look too mechanical.

Follow Route / (Reverse)

Makes the agent follow a workplace route.

Follow Route uses the authored order.

Follow Route Reverse walks the same route in reverse order.

Use these for patrols, repeated inspection loops, or structured workplace movement.

Locate in Zone 1/2

Moves the agent to the nearest matching item inside a specific workplace zone.

Use this when an action should stay constrained to a meaningful area of the workplace, such as a forge floor, stock room, or front counter.

Random Location within Zone 1/2

Moves the agent to a random valid NavMesh point inside a workplace zone.

Use this for ambient movement, loose milling, or behaviors where exact object interaction is not required.

Await For Mount to be Filled

Waits while the current mount still has empty space.

This action continues returning an in-progress state until the mount is considered filled.

Use it when an agent should remain in place until a seating or occupancy condition has been met.

Location Entrance

Moves the agent to a relevant building entrance.

Which entrance is chosen depends on the action ownership mode:

  • WORK goes to the workplace entrance
  • HOME goes to the house entrance
  • ALL chooses based on the active behaviour type, typically work for work behaviours and home for need behaviours

Use this when you want a clean transition into or out of a building-related sequence.

Shared action node fields

Most action nodes are shaped by the same supporting fields.

Action

The built-in action type being performed.

Look

Controls how the agent should orient while performing the action.

Update Each Loop

Used when the target or evaluation should be refreshed continuously rather than treated as a one-off setup.

Item section

This is one of the most important parts of many actions.

It lets you filter by things such as:

  • item name
  • item type
  • ownership mode
  • reservation and in-use state
  • slot or point-of-interest requirements

Endpoint behaviour

Controls how the end of the action should behave when the target point is reached.

Output

Used when the action should produce or hand off a specific output item or item-related result.

Choosing the right action

Use this quick rule of thumb:

  • want to move to the nearest valid thing: Locate
  • want variety between equivalent things: Locate Random
  • want to acquire the thing: Pick Up
  • want to release the thing: Drop Off
  • want ambient zone movement: Random Location in Zone
  • want structured workplace pathing: Follow Route
  • want seating or mount interaction: Mount and Dismount

Example combinations

Common action chains include:

  • Locate -> Pick Up
  • Locate Entrance -> Follow Route
  • Locate in Zone -> Pick Up -> Locate Entrance
  • Mount -> Await for Mount to be Filled -> Dismount

Medieval fantasy examples

These examples show how the built-in action types can be combined into believable town behaviors.

Blacksmith gathers coal and returns to the forge

Goal: the blacksmith fetches fuel from a supply area and returns to start work.

Suggested chain:

  1. Locate in Zone 1
  2. Pick Up
  3. Location Entrance

How to think about it:

  • use Zone 1 for the workshop storage or fuel area
  • filter the item section to the coal item name or type
  • use Pick Up only after the agent has reached the supply
  • use Location Entrance if the next step in the sequence should pull the agent back toward the main work area flow

Innkeeper patrols the tavern floor

Goal: the innkeeper moves through a repeatable service route inside the workplace.

Suggested chain:

  1. Locate Entrance
  2. Follow Route

How to think about it:

  • author the tavern route on the workplace
  • use this for believable movement between bar, hearth, and tables
  • use Follow Route Reverse if you want the return leg to feel deliberate rather than snapping back to the start

Villager rests on a tavern bench

Goal: a tired villager goes to seating, sits, waits, and then gets up.

Suggested chain:

  1. Locate
  2. Mount
  3. Await for Mount to be Filled
  4. Dismount

How to think about it:

  • use an item filter that targets the correct seat or seating object
  • Mount handles the actual occupancy step
  • Await for Mount to be Filled works when the behavior should pause until the seating condition is satisfied
  • Dismount cleanly ends the seated state

Guard patrols the village wall

Goal: the guard follows a predictable patrol loop.

Suggested chain:

  1. Locate Entrance
  2. Follow Route
  3. Follow Route Reverse

How to think about it:

  • use a workplace route that represents the patrol path
  • the reverse action is useful if the patrol should double back over the same wall walk or corridor

Miller wanders within the work area while waiting for the next task

Goal: create light ambient movement so the workplace feels alive even when the agent is not handling a precise interaction.

Suggested chain:

  1. Random Location in Zone 1
  2. Idle
  3. Random Location in Zone 2

How to think about it:

  • use zone-based random movement for believable milling around
  • insert Idle when you want pauses rather than constant motion
  • good for low-pressure work moments, guards at ease, or townsfolk loitering in a market space

Farmer grabs a tool before heading to the field

Goal: the farmer equips the correct tool and then transitions into field work.

Suggested chain:

  1. Locate
  2. Pick Up
  3. Location Entrance

How to think about it:

  • filter by the correct tool name or type
  • if the agent may already carry the tool, Locate and Pick Up can still work well because they can succeed from the carried state
  • Location Entrance is useful as a transition out of the building and into the next workplace sequence

These patterns tend to work well:

  • use Locate when the target must be reliable
  • use Locate Random when the world has many equivalent props and you want variety
  • use zone actions when the exact item matters less than the workplace area
  • combine Mount and Dismount explicitly rather than assuming seated state will clear itself
  • add Idle on purpose when you want pacing, not because other actions are failing

Practical advice

If an action is not behaving as expected, check these first:

  • item filters are too strict or mismatched
  • ownership mode does not allow access
  • no valid point of interest or slot exists
  • the target is not reachable through navigation
  • the world object exists, but not in the expected zone or building context