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
BTEvaluateExpression
task : Evaluate anExpression
against 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_policy
property.- Breaking compatibility: RunLimit count policy defaults to counting only successful runs. Previously, both successful and failed runs were counted.
- Visualize BTs In-Game: Exposed
BehaviorTreeView
andBehaviorTreeData
to use with custom in-game tools.BehaviorTreeView
received improvements.
- Other changes
- Updated documentation with fixes from @VisitingOcean and @Rubonnek.
- Fix:
BTProbability
showing 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
LimboHSM
transitions to self whenANYSTATE
is 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_var
now complains when variable is missing- GHA: Added Web target to GDExtension workflow
Changes in v1.0-dev3
- Revised
Blackboard
system:- Breaking compatibility: BTPlayer's
blackboard_data
is replaced with newBlackboardPlan
system (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
BehaviorTree
resource and override those variables in theBTPlayer
node.- Variables that begin with "_" are considered private and can't be overridden (they are hidden).
- See also: Sharing data using Blackboard.
BlackboardPlan
resource: Stores and manages a collection of variables, and is used to construct newBlackboard
instances.- Define blackboard variables in a
BehaviorTree
resource, using itsBlackboardPlan
property. BTPlayer
also has its ownBlackboardPlan
which extends the behavior treeBlackboardPlan
resource, i.e. variables from the BehaviorTree resource are overridden in the BTPlayer node.
- Define blackboard variables in a
BlackboardPlan
Editor- 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
BBVariable
object holds the value of a blackboard variable and its metadata (not exposed to the API).- GHA: Fixed issues with iOS templates build workflow
- Refactored
LimboHSM
andLimboState
code. - 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_ignore
for custom task methods is no longer needed!
- Add new
BBParam
types. - Refactored
LimboHSM
andLimboState
code. - 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.
BBParam
editor: Handy custom property editor for blackboard parameters.- Support for editing variant-type blackboard parameters (
BBVariant
).
- Support for editing variant-type blackboard parameters (
BTCallMethod
improvements:- 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
BTSubtree
decorator). - 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
LimboDebugger
crash whenEngineDebugger
is 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
Blackboard
andBTPlayer
. - Various fixes in the class documentation.
- Fix
BTCheckVar
performs erroneous equality check. - Improvements in the build workflows.