Learn how to use NodeCanvas

Download PDF Version


In most places where you are able to set a parameter in NodeCanvas, like for example within Tasks or Nodes, you will encounter what they are called BBParameters. BBParameters allow you instead of setting the parameter value directly, to rather link that parameter to a Blackboard variable, either of the same type or even of an “assignable” type due to the AutoConvert feature.

This is done by clicking on the radio button on the right side of the parameter and a dropdown list will appear.

There are four possible choices you can have within this dropdown.

  • Select a Blackboard variable to link the parameter to. This is the most obvious option.
  • Select a Global Blackboard variable if you have a global blackboard in your scene.
  • Declare a “Dynamic Variable” which allows you to create a variable at runtime.
  • “Create a New” Blackboard variable and link it to this parameter in one go (the created variable will have the same name as the parameter, but you can change that name later on without any problems).

When you have selected a variable this way, you will notice that the information written relevant to that task and that variable will come with a “$” token in front of the name of the variable. This is always added to indicate that this name refers to a variable and thus not to be confused with it being just a string for example.


The AutoConvert feature in NodeCanvas allows you to link a BBParameter to a Variable that is not the exact same type, but can rather be of any type able to somehow be converted to the BBParameter type. So for example the most obvious conversions would be linking a float BBParameter, to an integer Variable, or a string BBParameter to pretty much anything. However there are also a lot more possible conversions for convenience, like for example GameObject type to any Component type, or even GameObject type to Vector3 (through transform.position).

Whenever such a conversion is taking place, it is also shown in the UI right bellow the BBParameter inspector.

Notice that in the above example, the conversion is marked as “[GET ONLY]”. That means that while a conversion from GameObject to Vector3 exists and the above task will work fine, a conversion from Vector3 back to GameObject does not exist. This restriction is only really relevant for tasks that save data back to the Blackboard though.

Yes No Suggest edit
12 of 14 users found this section helpful
Suggest Edit