Development Tool

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.

Code editor
Authoring Surfaces

Three views, one file

Tree Editor

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
Utility Curves

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
Debugger

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
Extension

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
Shipping workflows

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.

Related

Go deeper

Write your first tree

The Guard Patrol sample ships with a tree, a utility node, and a debugger session already wired up.