Overview
Behavior Designer Pro is the follow-up to the most successful behavior tree tool for Unity. Behavior Designer Pro takes all of the popular features from the original version and brings them over to DOTS. If you are not using DOTS in your project that’s no problem – you can get the benefits of DOTS without even having to know that you are using it. This guide is going to give a general overview of all aspects of Behavior Designer Pro. If you’re just getting started with behavior trees we have a “Behavior Tree Basics” video series. This page also has a quick overview of behavior trees. With Behavior Designer you don’t need to know the underlying behavior tree implementation but is a good idea to know some of the key concepts such as the types of tasks (action, composite, conditional and decorator). You can open Behavior Designer Pro from the Tools -> Opsive -> Behavior Designer -> Editor toolbar. When Behavior Designer Pro opens you’ll see this window:
Open the editor

Understand the editor regions
There are four sections within Behavior Designer. From the screenshot below, section 1 is the graph area. It is where you’ll be creating the behavior trees. Section 2 is the inspector panel. The inspector panel is where you’ll be editing the task field values or creating new variables. Section 3 is the behavior tree operations toolbar. The final section, section 4, is the debug toolbar.

Create a behavior tree
Section 1 is the main part of Behavior Designer that you’ll be working in. Within this section you can create new tasks and arrange those tasks into a behavior tree. To start things off, you first need to add a Behavior Tree component. The Behavior Tree component will act as the manager of the behavior tree that you are just starting to create. You can create a new Behavior Tree component by right clicking within the graph area and clicking "Add Behavior Tree" or by clicking on the plus button within the operations area of section 3. Once a Behavior Tree has been added you can start adding tasks. Add a task by pressing the space bar or right click within the graph area and select "Create Task":

Once a task has been added you’ll see the following:

In addition to the task that you added, the Start event also gets added. The Start event acts as the root of the tree. The Sequence task has a green border because it is a pure ECS task. It also has an error because it has no children. As soon as you add a child the error will go away. Now that we’ve added our first task, let’s add a few more:

Edit a task
You can connect the sequence and selector task by dragging from the bottom of the sequence task to the top of the selector task. Repeat this process for the rest of the tasks. If you make a mistake you can select a connection and delete it with the delete key. You can also rearrange the tasks by clicking on a task and dragging it around. Behavior Designer will execute the tasks in a depth first order. You can change the execution order of the tasks by dragging them to the left/right of their sibling. From the screenshot above, the tasks will be executed in the following order: SequenceA, SelectorA, SequenceB, ActionA, ActionB, ActionC, SelectorB, ActionD, ActionE

Now that we have a basic behavior tree, let’s modify the parameters on one of the tasks. Select the SelectorA node to bring up the Inspector for that task. You can see here that we can rename the task or add a comment. We can also modify all of the serialized variables that the node contains. This includes assigning variables using the Shared Variable system. In our case the only serialized variable is the Abort Type. The Shared Variables panel on the bottom left allows you to create variables that are shared between tasks, GameObjects, scenes, or projects. The Elements Inspector panel and the Shared Variables panel can be rearranged and resized.
Use the operations toolbar

The top section within the Behavior Designer window is the operations toolbar. The operations toolbar is mostly used for selecting behavior trees as well as adding/removing behavior trees. The following operations are labeled:
- Label 1: Navigate back from the last behavior tree that was opened.
- Label 2: Navigate forward to the next behavior tree that was opened.
- Label 3: Lists any GameObject within the scene that has the behavior tree component added to it.
- Label 4: Lists any behavior trees that are attached to the GameObject that is selected from label 3.
- Label 5: Exports the behavior tree to a Subtree ScriptableObject.
- Label 6: Opens the find dialogue which can search your behavior tree.
- Label 7: Keeps the current behavior tree active even if you have selected a different GameObject within the hierarchy or project window.
Export copies the complete graph into a Subtree asset without changing the source graph. To extract and replace only a selected branch, use Save as Subtree as described on the Subtrees page.
The bottom status bar contains the play, pause, and available step controls for runtime inspection. The error count opens the Error Window.
Use the graph background menu
Right-click empty graph space to use graph-level commands:
| Command | Result |
|---|---|
| Create Task | Opens the task selector at the pointer. Space performs the same action. |
| Create Group | Creates an organizational group. When tasks are selected, the new group contains them. |
| Paste | Pastes compatible tasks, groups, and connections from the graph clipboard. |
| Frame Selection / Frame All | Fits the selected elements or the complete graph in the window. |
| Focus > Selection Only / Connected Neighborhood / Off | Dims unrelated elements without changing the saved behavior. |
| Add Behavior Tree | Adds another Behavior Tree component to the selected GameObject. |
| Remove Behavior Tree | Removes the selected component after confirmation. |
Task and group commands are documented with Tasks. Shared Variable row commands are documented with Variables.
Arrange connections and the graph view
Right-click a connection to use these editor-only layout commands:
- Copy Transition and Paste Transition copy compatible connection settings without replacing either endpoint.
- Set Color and Reset Color change its editor color.
- Route > Bezier / Straight / Orthogonal changes the drawing style.
- Outgoing Anchor and Incoming Anchor use Auto, Top, Bottom, Left, or Right.
- Add Waypoint, Remove Waypoint, and Clear Waypoints control manual bends.
- Reset Layout restores the connection’s route, anchors, color, and waypoints.
- Delete removes the connection.
Use the Panels menu to show, hide, resize, or rearrange the Element Inspector and Shared Variables panel. Reset Layout restores the product layout when a panel is missing or unusably small. The graph also supports Frame Selection, Frame All, Connected Neighborhood focus, zoom-aware readability, and configurable mouse-wheel behavior.
Inspect graph errors
Open Tools > Opsive > Behavior Designer > Error Window, select the status-bar error count, or press Ctrl/Cmd+E. Selecting an error briefly identifies its task in the graph. A clean Error Window means that the editor found no known structural or field errors; it does not replace a Play Mode test.
Configure preferences
Open Preferences > Behavior Designer or Tools > Opsive > Behavior Designer > Settings.
| Preference | What it controls |
|---|---|
| Show Hierarchy Icon | Shows the Behavior Designer indicator in Unity’s Hierarchy. |
| Check For Errors | Runs editor validation and updates the status-bar error count. |
| Auto Save Prefab | Saves prefab graph changes automatically. When off, use Ctrl/Cmd+S when prompted. |
| Keep Graph Selected | Keeps the current graph when the next Unity selection has no behavior tree. |
| Panels | Chooses the registered panels shown by default. |
| Mouse Wheel Scrolls Graph | Uses the wheel to scroll rather than perform the normal graph zoom action. |
| Keep Selection On Graph Click | Keeps selected elements when empty graph space is clicked. |
| Grid Line Spacing / Transparency | Controls the editor grid interval and opacity. |
| Focus Mode | Chooses the default focus view. |
| Zoom-aware Readability | Hides secondary detail when zoomed far out. |
| Recent Entries | Limits the Recent section in task selectors; 0 hides it. |
| Show Node Icon / Description / Debug Info | Chooses the information rendered on task nodes. |
| Snap To Grid | Aligns moved tasks to the editor grid. |
| Flatten Injected Nodes | Flattens tasks injected by a Subtree Reference in the editor view. |
| Default Gizmos Color | Sets the default Scene-view gizmo color. |
These settings affect authoring and presentation; they do not change task logic unless the setting explicitly controls saving or serialization.
Use keyboard shortcuts
Open Unity’s Shortcut Manager or select Edit Bindings in the shortcut preferences to rebind these defaults:
| Shortcut | Action |
|---|---|
| Space | Create Task |
| Ctrl/Cmd+F | Open Find |
| Ctrl/Cmd+Shift+F | Focus the next Find result |
| Ctrl/Cmd+G | Create a group from the selection |
| Ctrl/Cmd+Shift+G | Remove selected groups without deleting their tasks |
| Home | Focus the initial node |
| F / A | Frame Selection / Frame All |
| Shift+F | Toggle Connected Neighborhood focus |
| Ctrl/Cmd+0 | Reset zoom |
| C | Collapse or expand the selection |
| Enter | Focus the Element Inspector |
| Arrow keys / Shift+Arrow keys | Nudge by the normal or larger step |
| Ctrl/Cmd+E | Open the Error Window |
| Esc | Cancel the active operation or clear the applicable selection |
Standard Cut, Copy, Paste, Duplicate, Delete, and Save shortcuts apply whenever the matching graph command is available.
Continue learning
You can find the preferences for Behavior Designer Pro within the Unity Preferences window. From here, we recommend that you take a look at the new task page if you’re interested in adding your own logic. Conditional Aborts are an extremely useful feature and we highly recommend that you use them.