Atlas can explain attached Behavior Designer Pro trees and generate custom Action, Conditional, Decorator, and Composite task source. Specify GameObject or ECS when requesting a task. This guide targets Behavior Designer Pro 3.3.0 or newer, not classic Behavior Designer.

Start with the existing tree

Open Tools > Opsive > Behavior Designer > Atlas, or use the product’s docked Atlas panel. Attach the tree or its owning object and describe the behavior you want to understand.

/ask Explain the order of the branches in this tree and which condition can interrupt Patrol. Check whether a built-in task already provides the behavior I need.

Atlas reads the corresponding authoring-layer graph and serialized settings. A source-generation result creates task types; it does not automatically build and wire an entire tree.

Example: an idle Action

  1. Use a small test tree and save your current project changes.
  2. Request a GameObject Action with one observable responsibility:
/gen Create SimpleIdleTask, a GameObject Action that remains Running until interrupted. Do not move the character or change any Animator values.
  1. Review the task source, save it under Assets/AI/Tasks, and wait for compilation.
  2. Add it to the test tree through the normal task selection workflow.
  3. Run the tree. Confirm the task remains Running and can be interrupted as intended.

An illustrative generated Behavior Designer Pro idle task with its update method visible.

For a movement or interaction task, attach the real controller API and state who owns navigation, rotation, animation, and stopping. Ask for missing-reference handling and cleanup when the task ends.

Review by task type

Type Important checks
Action Startup, repeated updates, correct result, and cleanup on interruption
Conditional The exact condition, null behavior, and repeatability of evaluation
Decorator How the child result is transformed and when the child can run again
Composite Child order, termination, reset, and interruption behavior
ECS task Required components, enableable state, system/job lifecycle, and supported package APIs

Connect and verify

Assign the generated fields and Shared Variables in the task inspector. Test both expected and unexpected paths: missing target, already-completed work, interrupted work, and re-entry. Then add the task to the complete tree and repeat the relevant checks.

Use Creating a GameObject task, Creating an Entity task, and Variables for the underlying framework. See Modify, review, and test for revising your own tasks.