Behavior Bricks

Debug Mode Quick Start Guide

The debug mode in Behavior Bricks is a set of features that allows to debug the execution of the Behavior Executor component attached to your entities. In debug mode you can:

Debug mode and execution flow visualization

The Behavior Bricks editor enters debug mode automatically when playing a scene in the Unity editor, substituting the Behavior tab of the Behavior Bricks editor with the Debug tab, as shown in the Figure:

Debug tab

To watch the execution flow for a particular behavior tree of a given entity in the scene, you must open the behavior tree in the Behavior Bricks editor, and select the entity to debug in the Unity´s Hierarchy panel. Alternatively, the entity can be selected in the Debug tab, by first clicking on the Refresh List button and then clicking on the entity name. The Debug tab shows a list of the entities in the scene being played which contain a Behavior Executor component, grouped by the behavior assigned, as shown in the Figure:

Debug tab

Once the behavior and the entity have been selected, the state of each node is depicted by changing the color of its bounding box:

Execution flow

Execution flow

From the Debug tab is also possible to pause the execution of an entity behavior by clicking on the Pause button next to the entity name. Keep in mind that the pause will start after it finishes its current task. Once you have pressed the pause button you can either Resume the behavior or Tick it so the behavior receives one update call and then return to pause.

Resume or Tick

Resume or Tick

It is also possible to pause and resume all the entities that use a given behavior by pressing the corresponding Resume all or Pause all button.

Watching the blackboard and node parameters

In order to see the current values of the blackboard parameters for a concrete behavior of an entity you must:

In the tab Blackboard you can see the current value of all blackboard parameters of the open behavior, but if you are only interested in the value of the parameters related to a concrete node you can watch it by selecting the node while having the Node tab selected.

Blackboard values

Blackboard values

Blackboard values

Blackboard values

Breakpoints

With this feature you can pause the execution of the game when a node for a concrete behavior tree of a specific entity reach one of the following states:

To add a breakpoint you just need to right click in a node and select Add Breakpoint:

Adding a breakpoint

Adding a breakpoint

You can configure what events the breakpoint should be triggered in the Node tab by marking the desired events.

Breakpoint events

Breakpoint events

In case all events are unmarked the breakpoint will be displayed as disabled with a grey color:

Disabled breakpoint

Disabled breakpoint

Remeber that a breakpoint can only be triggered when:

Triggered breakpoint

Triggered breakpoint