This is an old revision of the document!


Behavior Bricks

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:

  • View in real time the execution flow of a behavior tree
  • Display the values of the blackboard parameters during execution
  • Pause and resume the execution of a behavior tree for an entity or group of entities
  • Set breakpoints in nodes of the behavior tree

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

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

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:

  • White while running (MoveToGameObject in the Figure)
  • Green when finished returning Completed (IsTargetClose in the Figure)
  • Red when finished returning Failed
  • Grey when in suspended state (Repeat and Priority Selector in the Figure)
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

Also you can pause and resume all the entities which uses a behavior by pressing the corresponding Resume all and Pause all buttons.

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

  • Be in Play Mode
  • Open the Behavior Bricks Editor
  • Open the behavior that you want to debug (You can watch the assigned behavior and all the subbehaviors that it uses)
  • Select the entity to debug in the Unity´s Hierarchy panel or in the Debug tab in the Behavior Bricks Editor (For more information read Debug Tab Section)

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

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:

  • Success
  • Failed
  • Aborted
  • Launched

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:

  • You are on Play Mode
  • Behavior Bricks Editor is open
  • A valid entity is selected
  • The behavior that contains the node with the breakpoint attached is open, but you don´t need the behavior to be the active tab.
Triggered breakpoint

Triggered breakpoint