We’re excited to announce that Behavior 1.0.14 is now available!
This release continues our commitment to stability along with targeted improvements on enumeration support and some minor workflow enhancements.
Enumeration Flag support
Behavior now supports enumerations with the [Flag] attribute, along with fixes for various enumeration-related issues including initialization and type reference generation.
In addition to several minor UI/UX improvements, a new convenient “Edit Subgraph” button has also been added in the Subgraph node InspectorUI for quicker navigation between graphs.
While this release provide small additions and much needed fixes to work properly with 6.3 version, we’ve been hard at work on ObserverAbort and other QoL (Auto-connect debugger, linked blackboard asset in agent inspector). They should all target 1.0.15 and are planned for early 2026.
Is the Behaviour Package still being supported? I feel like I’ve read conflicting reports of if they are. I see that its still getting some updates so I’m inclined to say it is?
As reported by several users, there is a regression in version 1.0.14 that affects node edges/arrows connection management with Composite nodes:
Affects nodes using floating port node such as Conditional Flow nodes (Conditional Branch, Switch and Switch Flag)
It is not possible to disconnect a node from such parent
A “ghost” connection remains on orphaned nodes after parent node is deleted
Console errors including “PortNodeModel with more than one outgoing connection is not supported”
Temporary workaround:
To disconnect nodes: The only solution is to delete the parent Flow Conditional node. You can copy paste it and redo the connection, but the original needs to be deleted.
For orphaned nodes: Copy and past the affected child nodes, then delete the originals
Downgrade option: Revert to Behavior 1.0.13 where the issue doesn’t occur.
Status: We are working on a fix for this regression for the next patch release. The issue only affects Behavior 1.0.14, independently from Unity version.
Thanks to everyone who reported this with detailed reproduction steps - they helped tracked down the root cause quickly.
Related threads:
About observer abort example, I am confused what is Pass If any True or Fail If, there is no such a node and I am not sure how to replicate this and simply abort currently running branch to jump to dodge for example. Also is there plan to simply add aborting to switch?
It is pretty common to change state to the higher priority and it makes no sense to duplicate a lot of nodes by adding abort separately with the same condition as if/switch.
Observer abort is not has not yet landed and is still being reviewed internally.
As we are still bottlenecked with review process for the next release to patch the regression, this work might land in 1.0.16.
Thank you for the suggestion about adding observer abort support to the Switch node, it sounds like a great idea. Will see with the team if we can squeeze that in
Thank you for update! I was curious, because in the example pictures of abort (first post) there is comparison of “without and with abort” for logic that does exactly the same, so I assumed the first picture is from current version (1.0.14) and already available.
I hope this feature comes very soon as without it this package is hardly usable in real world applications for AI agents, and to be very honest I am really disappointed, because I took my time to explain how important this feature is 2 years ago, I even had zoom meeting with creators to provide more feedback directly and… it is still not implemented properly.
To be clear, I don’t expect apology - I simply can’t wrap my head why the core mechanism took so long to implement, it’s like creating state machine without proper state transitions, because someone ignored the fact that transitions need to check conditions.
After quickly looking into it, I believe there is no need to add observer abort to the Switch node. It is already possible to add a Restart node (with VariableValueChangedCondition)` above the Switch to create the expected behaviour.
I was working a little bit with Unreal and I saw that on their Behaviour Tree System there are handy sequence index indicators. Would be nice to also have them here, it’s not a priority, but an enjoyable QoL.
Will there be support for an Init method like OnAwake for the Nodes in the graph. Looking at the Node class OnStart and OnEnd occur every time a node is activated and ended but having to do checks within these every time is not necessary when you only need to initialize a node once to cache data.
This looks like it could be implemented by everyone but it would require a custom class derived from the BehaviorGraphAgent and then iterating over all the Nodes in the graph, typecasting them (which also requires an Interface) and invoking a custom OnAwake.
If this is not the correct place for a request please let me know.