First of all, I think you guys are doing a great job with this tool. Unity has lacked something like this from a long time and what you have now plus all the things that will come, like Utility Theory nodes, will make it a very complete set to program complex behaviors. I also love the design and the UI, very nice, very user-friendly.
I got some questions, some suggestions, some bugs to report, and random feedback:
QUESTIONS
- Are you going to introduce a system to directly map the variables in the blackboard to variables in a script, similar to what Behavior Designer has? Right now I’m just using properties in a script to directly map the variables to and from the blackboard, to have everything synchronized, which is not a bad way to do it, but I just wanted to ask if there’s going to be another way to do it in the future.
- Are you planning to have a more straightforward way to call events in the graph from outside, from a script? Right now the only info I found about this is Event Channels in Muse Behavior but it seems rather cumbersome (though I may be confused). I’m thinking on something in the line of “behaviorGraphAgent.SendEvent(“Command”, “GoToDestination”);”, for example.
- We lack basic documentation. Plans on this?
- Approximate release date, if possible, of version 1.0?
SUGGESTIONS
- It’s very hard right now to have the basic info of certain things of this package. I would recommend a common Q&A post for everyone with the most important things people have asked that are points of confusion, like the price of the tool and its use without the Muse subscription, the philosophy of this kind of approach to behavior trees in relation to others, compatibility, roadmap, etc.
- A node to Print/Debug/Log a value from the blackboard, or a string you write.
- Wander node, similar to Patrol node, but with random positions, with configurable distances between them, wait times between movement, etc.
- Add Transform as variable type in the blackboard.
- These are being worked on, but I mention it to express interest: aborts (whatever the shape it takes) and utility theory nodes.
- A Find function in the graph in order to know in which nodes a variable is being used.
BUGS
- Heads up with this, that due to an error in a script unrelated to the tree, where I had to reload domain several times, I don’t know what happen but, without me doing anything in the editor itself, it ended up erasing my entire behavior graph. Not the file, but inside the graph, it was empty, no nodes, no blackboard variables. I wish I could tell you how to replicate the error but I can’t now. I just wanted to share this problem even if I don’t know the source, because the fact that the entire graph can be erased somehow, it’s serious.
- I got a simple Set Variable Value node where I set Vector3.zero to a Vector3 variable of the blackboard and on play it gives me the error “Found mismatched field type for Value in SetVariableValueAction. Expected Vector3, but found Object.” And I am just passing 0, 0, 0. This not only happens with a Vector3 but with other types of variables aswell, even when I pass them a new value with the correct type.
RANDOM FEEDBACK
- I like very much the fact that you can specify where the agent is in your configuration. Other tools didn’t contemplate the possibility that the agent could be in an object different than that of the behavior tree.