About Behavior Tree Editor

What it is

Behavior Tree Editor is a 100% client-side web application for authoring behavior trees, the hierarchical reactive model used to organize decision-making in robots, NPCs, automation pipelines, and AI systems. You drag nodes from the palette, connect them on the canvas, edit port values inline, and export the result as JSON, XML, or BehaviorTree.CPP format.

Why we built it

Most behavior-tree tooling lives inside larger robotics or game engines. We wanted a zero-install, browser-based editor that anyone can open with a single URL — no account, no telemetry, no native build chain. The same tool that designs a delivery robot's nav stack should also design a tutorial NPC's dialogue tree, and both should be exportable in formats other engines can consume.

Who it's for

How it works under the hood

The canvas is a thin wrapper over Drawflow, an open-source node editor. Node templates are declared in js/nodeTemplates.js; the import/export pipeline supports BTCPP, plain XML, and JSON. The log-replay feature consumes NDJSON streams of tick events and replays them with step/pause controls at 0.5x–10x speed. The WebSocket viewer connects to a remote endpoint to push live node status updates into the same canvas.

Tech stack

Open source

Released under the MIT License. Source on GitHub. Contributions welcome — open an issue, send a PR, or fork it for your team's internal toolchain.

Contact

For bug reports, feature requests, or partnership inquiries see the Contact page.