Version 2.1 of Behavior Designer Pro is making its way to the Opsive Store and the Asset Store. This is a feature update which contains some breaking changes. Before importing ensure you have first removed the Packages/com.opsive.behaviordesigner, Packages/com.opsive.graphdesigner, and Packages/com.opsive.shared folders. The following manual changes are required:
- Tasks should implement the ITreeLogicNode interface rather than the ILogicNode.
- Renamed ITaskComponentData to IAuthoringTask.
- Renamed IAuthoringTask.Tag to IAuthoringTask.Flag.
- Adjusted IAuthoringTask.AddBufferElement signature to include the baked behavior tree GameObject and return the index of the element within the buffer:
/// <summary> /// Adds the IBufferElementData to the entity. /// </summary> /// <param name="world">The world that the entity exists.</param> /// <param name="entity">The entity that the IBufferElementData should be assigned to.</param> /// <param name="gameObject">The GameObject that the entity is attached to.</param> /// <returns>The index of the element within the buffer.</returns> int AddBufferElement(World world, Entity entity, GameObject gameObject)
- Deprecated ObjectName, replaced with DisplayName.
- Deprecated NodeDescription, replaced with Opsive.Shared.Utility.Description.
The following changes are included in this release:
- Improved the Task Add dialogue:
- Added a “Create New…” option.
- Added the task description of the selected element.
- Search will only find the search the items within the selected folder and subfolders
- Improved the UI of the SharedVariable lists:
- Added groups
- Reduced height of each element
- Elements can be dragged by left clicking on the element
- Improved the UX of Node Groups:
- Nodes contained within the group will move with it
- Improved the group UI
- Added an abstract ECSTask reducing the amount of boilerplate code required.
- Improved task execution count.
- SharedVariable names now use PropertyName instead of strings for faster lookup.
- Added SetColor to the NodeGroup.
- Improved Graph and Subgraph variable synchronization.
- Shift + Space will resize the window when the GraphView has focus.
- Fixed branch from not being interrupted when it should.
- Added better support for evaluating when a task has executed.