About Behavior Tree Editor
A free, open-source visual editor for designing, debugging, and exporting behavior trees — built for robotics, game AI, automation, and any system that benefits from hierarchical reactive control.
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
- Robotics engineers designing decision systems for navigation, manipulation, and multi-robot coordination.
- Game developers scripting NPC behavior, boss logic, and enemy AI.
- Automation engineers building reactive control flows for industrial or test pipelines.
- Educators and students learning hierarchical reactive planning without setup overhead.
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
- Vanilla JavaScript (no build step, no framework)
- HTML5 + CSS3 (dark + light theme)
- Drawflow for canvas interactions
- JSON, XML, BTCPP XML for I/O
- Static hosting — GitHub Pages, Cloudflare Pages, Netlify, any CDN
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.