Documentation
Features
Flow Debugging

Flow Debugging

Runtime node state

While in play mode, nodes can be either not running, running or completed.
A yellow outline and a clock icon indicate a node is currently active and still executing actions assigned to the node.
On the executing nodes, in front of the name of the action, a small play icon :material-play: appears while that specific action is executing. In the following image, there is a small play button in front of the Wait 5 sec. action which indicates it is currently running that action in the list.


Action playing

When all actions have been completed the node changes from yellow to green with a checkmark:


Node completed

Enter state

While the application is running, nodes can be activated at any point in the editor. Select a node and pick Enter State from the right click dropdown menu.


Enter state

Breakpoints

From the same dropdown menu, breakpoints can be toggled on or off on nodes as well.
Nodes with breakpoints are indicated by a red dot at the top of the node. When the graph activates this node, the editor is paused in the same way as using Debug.Break() in code. Click the Unity play/pause button at the top to continue running the app.


Flow break points

Debug menu


The debug menu under Game State > Flow are 3 tools to help navigating and testing the flow.

Debug Events

This shows all the active node transitions with a FlowEvent on them and allows you to manually trigger the events.

The underlined and bolded text is the name of the FSM asset. The events themselves are indicated by the Node Name -> Event Name syntax. Click an event to trigger it. The debug screen will automatically refresh.

This debug menu allows for multiple ways of interacting with the flow:

  1. Navigate the app without interacting with the menus.
  2. Go to places inaccessible to the user, such as having the special events menu accessible only to developers.
  3. It can also be used to cheat through the game, by getting the game to send a win or lose event.

The events should automatically update while navigating through the flows, but in case the events are not up to date, press the [Refresh] button at the top to force a manual refresh of the events.


Debug flow events

Debug Nodes

This screen shows you to navigate the entire flow, with all nodes and sub/parallel FSMs. Any node with a > in front of it is currently active. Navigate back up to the parent FSM by pressing the << Parent FSM button. Tap any node to jump to it instantly.


Debug nodes
⚠️

Sub FSM exploring
Going into a sub FSM which is not active at the moment will activate it and go to the Start node in this flow.

⚠️

Jumping anywhere
Be aware that activating any other node can result in unwanted behaviors. As the app is no longer taking the intended path, some screens or states may persist when jumping anywhere else in the app.

Debug Variables

All blackboard variables can als be explored through the debug menu.


Debug variables

Use this debug menu to see what the blackboard is doing at any point on device as well.
Open it using the debug menu and go to Game State > Flow > Variables to view all the blackboard variables.


Blackboard variables

Tapping on some variables types allows changing the values, currently supported are:

  • Booleans: toggle between true - false
  • Enums: jump through all the enum values one at a time

The rest of the variables are converted and showed as a string format. Click the [Refresh] button at the top to refresh the screen to the latest content.

This debug menu allows testers to take certain cheat paths through the flow, showing or hiding screens or changing the game state just to name a few examples.