v1.0-rc2
Pre-release
Pre-release
Changes in v1.0-rc2
- Debugger improvements:
- Performance gains: Implement selective tree updates in
BehaviorTreeView. - New option: Specify update interval.
- Performance gains: Implement selective tree updates in
- New
BTEvaluateExpressiontask : Evaluate anExpressionagainst a node or object (thanks @Rubonnek). - Demo: Various fixes.
- Documentation updates.
- GHA: Add debug build for web target, and add the missing entries in GDExtension manifest.
- Fix crash upon increasing
TypedArray<BBVariant>size (thanks @Rubonnek). - Fix icons not showing for user tasks in the demo project.
Full Changelog: v1.0-rc1...v1.0-rc2
Previous changes in v1.0 (click to expand)
Changes in v1.0-rc1
- Comprehensive Demo: New extensive demo project includes a tutorial, several examples and a small game.
- Tutorial: Introduction to behavior trees with examples inside the demo project.
- Cut-Copy-Paste: New Cut, Copy and Paste actions in the behavior tree editor.
- BTRunLimit improvements: New
count_policyproperty.- Breaking compatibility: RunLimit count policy defaults to counting only successful runs. Previously, both successful and failed runs were counted.
- Visualize BTs In-Game: Exposed
BehaviorTreeViewandBehaviorTreeDatato use with custom in-game tools.BehaviorTreeViewreceived improvements.
- Other changes
- Updated documentation with fixes from @VisitingOcean and @Rubonnek.
- Fix:
BTProbabilityshowing incorrect percentage - Editor: Remember collapsed items in task tree
- Fix: Debugger crashes when detached in GDExtension
- Fix: Shortcuts not working in the module version
- Disallow
LimboHSMtransitions to self whenANYSTATEis used - Improved variable synchronization between base and derived blackboard plans
- Util: New function to decorate output variables (can be used by scripts)
- Better error handling when resolving
_generate_name Blackboard:get_varnow complains when variable is missing- GHA: Added Web target to GDExtension workflow
Changes in v1.0-dev3
- Revised
Blackboardsystem:- Breaking compatibility: BTPlayer's
blackboard_datais replaced with newBlackboardPlansystem (see below).- If you have blackboard data defined in BTPlayer or LimboState nodes, you'd need to redefine it using the new system.
- New workflow: Define variables in the
BehaviorTreeresource and override those variables in theBTPlayernode.- Variables that begin with "_" are considered private and can't be overridden (they are hidden).
- See also: Sharing data using Blackboard.
BlackboardPlanresource: Stores and manages a collection of variables, and is used to construct newBlackboardinstances.- Define blackboard variables in a
BehaviorTreeresource, using itsBlackboardPlanproperty. BTPlayeralso has its ownBlackboardPlanwhich extends the behavior treeBlackboardPlanresource, i.e. variables from the BehaviorTree resource are overridden in the BTPlayer node.
- Define blackboard variables in a
BlackboardPlanEditor- Accessed with "Manage..." button in the inspector.
- Rename, reposition, and change types and hints of the blackboard variables.
- Specify relevant export hints for the variables.
- Edit default variable values directly in the inspector.
- Binding: Bind variables to object properties using
blackboard.bind_var()method. - Blackboard variable property editor:
- Used in the blackboard tasks and can be used with custom tasks.
- Note: It is shown for any property that ends with "_var" and also when using
BBParam-derived parameters.
- Note: It is shown for any property that ends with "_var" and also when using
- Handy property editor that shows an indicator if variable is included in the blackboard.
- Clicking on the indicator takes you straight to the blackboard plan editor and auto-fills variable name if it doesn't exist.
- Also provides a drop-down selection of existing variables.
- Special indicator for variables that begin with "_" (aka private variables).
- Used in the blackboard tasks and can be used with custom tasks.
- These changes are fully compatible with both module and GDExtension builds!
- Breaking compatibility: BTPlayer's
- Other changes
BBVariableobject holds the value of a blackboard variable and its metadata (not exposed to the API).- GHA: Fixed issues with iOS templates build workflow
- Refactored
LimboHSMandLimboStatecode. - Fixed focus issues with BBParam property editor
Changes in v1.0-dev2
- New and improved workaround for the missing
GDVIRTUAL*macros.- Fixes native method override errors.
@warning_ignorefor custom task methods is no longer needed!
- Add new
BBParamtypes. - Refactored
LimboHSMandLimboStatecode. - Fix: icon entries unsorted in GDExtension manifest.
- Editor: Show info dialog about editing project settings in GDExtension.
- Editor: Links to "Creating custom tasks" doc page in the editor and banner improvements.
Changes in v1.0-dev1
- GDExtension support! Check out Using GDExtension
- GDExtension builds are available in GitHub Actions.
BBParameditor: Handy custom property editor for blackboard parameters.- Support for editing variant-type blackboard parameters (
BBVariant).
- Support for editing variant-type blackboard parameters (
BTCallMethodimprovements:- Include its delta as an argument. Thanks, @Rubonnek!
- Store result on the blackboard.
- Allow using blackboard variables as arguments for the call.
- Online documentation: Check out online docs here.
- Change Type action: Switch task's type with the "Change Type" context menu action.
- Extract Subtree action: Save subtrees with the "Extract Subtree" context menu action (using
BTSubtreedecorator). - Adding tasks with Shift-click: In Task Palette, Shift+click to add a task after the selected and on the same level as the selected task.
Other improvements
- Fix
LimboDebuggercrash whenEngineDebuggeris not active. Thanks, @Rubonnek! - In the Debugger, show resource info for the currently presented BehaviorTree.
- Fix debugger's "elapsed" column not always has enough space for decimals.
- Open BehaviorTree in the BT editor when its property is clicked in the inspector.
- Fix button focus in the Task Palette.
- Optimize prefetching node references in the
BlackboardandBTPlayer. - Various fixes in the class documentation.
- Fix
BTCheckVarperforms erroneous equality check. - Improvements in the build workflows.