Behavior Designer Pro
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
- Use a small test tree and save your current project changes.
- 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.
- Review the task source, save it under
Assets/AI/Tasks, and wait for compilation. - Add it to the test tree through the normal task selection workflow.
- Run the tree. Confirm the task remains Running and can be interrupted as intended.

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.