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.
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.