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.