Behavior tree with blackboard and decorators
In your harnessGodot componentMIT
Build behavior trees in code from sequences, selectors, a parallel, decorators (inverter, succeeder, repeater, cooldown), conditions, actions and waits, ticked with a shared blackboard and its own clock.
ATTRIBUTION.mdLICENSEREADME.mdbaltor_test.gdbehavior_tree.gdcomponent.jsoninspect_gdscript.pyrun_tests.gdtest_package.pytests/test_behavior_tree.gdverification/native.json
Full files in your harness.
What it takes and gives
- Class
- BaltorBehaviorTree, extends RefCounted
- Methods
- tick(delta: float) -> int; reset() -> void; get_time() -> float; describe() -> String; sequence(tasks: Array, reactive: bool = false, label: String = "sequence") -> Task; selector(tasks: Array, reactive: bool = false, label: String = "selector") -> Task; parallel(tasks: Array, success_threshold: int, label: String = "parallel") -> Task; inverter(child: Task, label: String = "inverter") -> Task;…
- Signals
- ticked
- Placement
- res://baltor/godot_components/behavior_tree/
Limits. Trees are built in code, not in the editor; there is no visual editor or debugger beyond describe(). One child run per tick for the repeater. Reactive composites halt only the child that was running. Verified with Godot 4.7.2 headless; written against the Godot 4.3 API.
Details
- Kind
- Godot component
- Engine
- Godot 4.3 or later
- Files
- 11 files, 87.3 KB
- Licence
- MIT
- Declared effects
- reads files, runs commands
- Checked with
- Godot 4.7.2, headless
- Checks
- godot parse check only, godot gdscript tests, godot tests reject gutted component, godot editor import, godot contract reflection, godot readme usage compiles
- Techniques
- behavior tree, memory and reactive composites, blackboard pattern
- Tags
- behavior tree, ai, blackboard, decision making, npc, agents
- Identity
library.supply.creative_originals.28f0427a3355913c3824f1bd.d741743209163edd- Version
d741743209163eddec2cbd8a99a4f13de875f1de4bcc73c1edbe2c44725e38a3
The version is the SHA-256 of the item your harness downloads; every file in it names its own checksum.
Something wrong with this item, its rights or its safety? Report it on the support page, or from your harness after a download.