Behavior
Authoring
A visual tree editor, a utility curve authoring surface, and a live debugger that attaches to agents running in the game. All three edit the same data.
One data model, three views
The tree editor, the utility curve editor, and the runtime debugger all read and write the same underlying data. There is no export step, no sync step, and no intermediate format. Pressing save in any view is a single write that every other view and the running game picks up immediately.
Trees compose. A subtree is a first class asset you can reference from any other tree, with its own blackboard scope. This is the feature that keeps large AI codebases maintainable once you pass a hundred trees, because you can refactor a shared pattern without hunting for duplicates.
The debugger pins to any agent in the world. Select an NPC, hit attach, and the tree lights up in real time showing the active node, the blackboard values, and the most recent utility scoring breakdown for the last few ticks.
Three views, one file
Visual behavior trees
Drag composites, decorators, and leaf tasks. Keyboard shortcuts for everything that takes more than two clicks. Nodes are type checked against the blackboard so a broken reference fails loudly at author time.
- Composites, decorators, tasks, and subtrees
- Type checked blackboard bindings
- Keyboard shortcuts for every edit action
- Save triggers runtime hot reload
Curve authoring
Author utility curves the same way an animator authors motion curves. A preview strip on the right shows the winning action for the current blackboard state. Tunables are visible and editable without opening a text file.
- Piecewise curves with import from CSV
- Per archetype weight overrides
- Live preview of winning action
- Compiles into a single tree node
Live agent attach
Attach to any agent in a running game, on any platform, over the network. Highlights the active node, streams blackboard values, and records the last five seconds of decision history for scrubbing.
- Remote attach over network
- Five second tick history buffer
- Breakpoints on nodes and conditions
- Utility breakdown per decision
Custom nodes
Write a node in C# or native C++ and it shows up in the editor palette on the next open. No code generation step, no registration file, no editor rebuild. The reflection system picks it up automatically.
- Attribute driven node metadata
- Automatic inspector generation
- Scripts and native behave identically
- Reload without restarting the editor
How teams use it
Designer in the driver seat
A designer opens the tree, changes a decorator condition, saves, and the running playtest updates on the next tick. No engineer round trip.
Combat tuning
Utility curves control target selection and flanking. Tune weights during a playtest while watching the decision breakdown on the attached agent.
Field debugging
QA attaches to the offending NPC on a console dev kit over the network. The tick history shows exactly which condition flipped, no repro required.
Go deeper
Runtime AI systems
Behavior trees, utility AI, navigation, and perception as they run in the game.
Debugging Suite
The wider profiler, memory, and network timeline. The agent debugger shares its session model with the rest of the suite.
Scripting reference
Authoring custom nodes, working with subtrees, and blackboard scoping rules.
Write your first tree
The Guard Patrol sample ships with a tree, a utility node, and a debugger session already wired up.