I'm using the new Unity Behavior Graph and I have and I have a question about the variables

I have learned that if I put the same variable name in a node script as a variable in my BlackBoard, it automatically assigns that variable, but if I load an external Blackboard into my blackboard, I am not able to have a script automatically assign it.

I don’t know if I’ll have to call it in some other way in the script or if that just can’t be done.

Thanks!

Hi titan, thanks for reaching us!

Just to clarify, are you describing the 2 following scenarios:

  1. Creating a node that have fields named identically to a (graph-embedded) Blackboard variable will be automatically assigned.
  2. This is not the case for Variable from a Blackboard Asset (a Blackboard you have created as a standalone asset, not embedded in a graph, using the Create Menu in the project view) that you have referenced in the graph’s blackboard.

If what I described fit your description, I would need to understand more specifically what you mean by “I am not able to have a script automatically assign it”. Is it that you cannot find your Blackboard Asset’s Variable by using the search panel when clicking the field icon?

Can you confirm the following:

  1. Can you drag and drop the blackboard variable to the node?
  2. What is the variable type? (the type of the BlackboardVariable you cannot assigned to the node)
  3. What is the expected type? (the node’s field type)

FYI, we are also investigating an issue that Blackboard Asset’s Variable not available in the search panel when a type is not explicit (i.e. If the node field expect a Transform but you want to assigned a Variable of type GameObject).

Hopefully, you should still be able to drag and drop your variable to the node and will provide you a workaround for the time being.

Thanks for your time :slightly_smiling_face:

Hi there! Thank you very much for your response.

Your scenarios are correct. I am able to use Blackboard Asset variables correctly, both by dragging and selecting them from the search panel.

I’m using a Blackboard Asset as if it were a ScriptableObject, which defines certain parameters of the enemies’ NavmeshAgent, which I associate with the enemy through one of the graph’s nodes. Since I have to create several behavior graphs, I thought that if it assigned it automatically, it would save me a lot of work.

That’s where my point comes in, if the variable is from the blackboard of that graph, it is automatically assigned when creating the node, which has the variables with the same name, but if I have imported a Blackboard Asset, they are not automatically assigned.
It would be great to have a way to automatically associate these variables as well.

Thanks for doing such a great job

Thanks for the additional details!

I understand better and that sounds like a great quality of life feedback. I’ll bring the matter to the team, and hopefully we should be able to improve that area in a future release.

Thanks again for taking the time to share your feedback :smiling_face: