Every State in an FSM can have outgoing Transitions. In NodeCanvas, transitions are condition-based which means that each transition evaluation is based on one or more Condition Tasks that can be assigned to that transition. Alternatively, a transition without any conditions assigned is what is called an “OnFinish” transition, which as the name implies, will only take place as soon as the parent state is Finished. When you have multiple outgoing transitions in a state, you can prioritize the order in which they are evaluated through the state’s Inspector GUI. This is obviously important since only one transition can ever take place at once.
By default, transitions are evaluated per-frame, but there is also an option to only evaluate transitions after the state is finished. The option to choose between one or the other behaviour can be found in the state’s inspector GUI, respectively named “Check Continuously” (the default) and “Check After State Finished”.
Here are some interesting links on the net regarding State Machines: