We’re excited to announce that Behavior 1.0.16 is now available!
This release brings support for Unity 6.5, a revamped prefab workflow for BehaviorGraphAgent, new node lifecycle APIs, automatic enum dependency tracking, significant subgraph reliability improvements, and many bug fixes across the board.
Support for Unity 6.5+
Behavior 1.0.16 now supports Unity 6000.5 and 6000.6 thanks to the migration from InstanceID to EntityId, aligning with recent engine API changes. If you’re already on Unity 6.5 or newer, upgrading to 1.0.16 is recommended.
BehaviorGraphAgent Prefab Workflow
The prefab experience for BehaviorGraphAgent has been significantly improved. Blackboard variable overrides now show standard Unity prefab styling (bold text for modified values), and per-variable Apply to Prefab / Revert from Prefab context menu options are available.
Please note: In Unity version below 6000.5, ‘Right-click on the BehaviorGraphAgent component header > Modified Component > Apply to Prefab’ may not work due to a Unity limitation with [SerializeReference]. You can use the per-variable context menu or the top-level ‘Overrides > Apply All’ as workarounds.
Runtime Graph Lifecycle Improvements
This release introduces two new node lifecycle APIs: Node.OnSetup() and Node.OnTeardown(). These provide explicit hooks for node initialization and cleanup, giving you more control over the runtime graph lifecycle.
Edit: Please note that Node.OnSetup is currently called before BlackboardVariable overrides are applied to the graph modules. This means that any value set to the BehaviorGraphAgent are not available in OnSetup. This is going to be fixed in the next patch.
This is mostly a backend change that should not affect existing user code, but it allowed us to fix many issues and prepare the backend for future improvements.
Learn more about the runtime graph lifecycle in the updated documentation:
Enum Dependency Tracking
Behavior graphs now automatically track enum dependency signatures. When an enum used by your graph changes, the graph is automatically reimported and rebuilt, even when the graph editor is not open. A new Tools/Behavior menu action lets you select graphs affected by the last enum-change reimport pass.
This also fixes a regression from 1.0.14 where editing an enum used by a SwitchComposite would trigger a null-reference exception while the graph editor was open (UUM-135864).
Notable Fixes
- Subgraph improvement: reliability has been greatly improved in this release with many bug fixes.
- Editor stutter: Fixed editor stuttering when panning and dragging connections in large Behavior Graphs (UUM-139944).
- Stale blackboard references: Fixed node fields retaining stale references to deleted blackboard variables from linked
BlackboardAuthoringAssets. - Scrolling regression: Fixed scrolling no longer working when opening a Behavior Graph via the “Open” menu (UUM-140964).
- Navigation nodes: Fixed
NavigateToLocationandNavigateToTargetactions staying in Running status indefinitely when the destination is unreachable. Added a configurableFailIfUnreachablebool field (defaults to true) (UUM-135687).
Changelog
You can review the full changelog here:
Please pay special attention to the “Known Issues” section, as it contains important information about current limitations.
Documentation Updates
- Added: Runtime Lifecycle Overview
- Updated: Create Custom Node - Sequencing nodes: dynamic and named ports
Support & Feedback
For those who missed the announcement, please see Update on Behavior Package Support and Team Presence.
As always, a big thank you for your continued feedback!
