#8686th of 142 in Agent frameworks and SDKsFor science, health and research, robotics
behaviortree.cpp
C++17 library for building behavior trees for robots and game AI
Documentation ↗
(opens in a new tab)Website ↗
(opens in a new tab)Repository on GitHub ↗
(opens in a new tab)
- Stars
- 4.3k
- License
- MIT
- Last commit
- Nov 2026
- Last release
- Nov 2026
- Language
- C++
3,945 on 22 Apr 20264,295 on 11 Nov 2026
From GitHub's daily star counts.
Checked on GitHub.
Overview
BehaviorTree.CPP 4.9 is a C++17 library for defining behavior trees in XML and loading them at run time. Custom nodes can be linked statically or loaded as plugins. It targets robotics, with ROS2 builds through colcon, but also suits game AI or replacing finite state machines. It has no LLM features.
Who it is for: C++ robotics and game developers who need reactive behavior trees
Strengths
- Asynchronous, non-blocking actions are first-class, with reactive concurrent execution
- Tree structure lives in XML loaded at run time, not hard-coded in C++
- Type-safe dataflow between nodes; custom nodes can be run-time plugins
- Built-in logging and profiling to record, replay and analyze state transitions
Weaknesses
- No LLM, model or tool-calling integration; fits the agent category only loosely
- Requires a C++17 compiler; Conan builds need CMake 3.23 or newer
- Graphical editing needs the separate Groot2 tool
- Commercial support is only by contacting the primary author
What it needs
- no GPU
- Needs C++17 compiler, CMake, Conan, ZeroMQ, SQLite
What changed
From the release notes. No flag means the note does not say so, not that the upgrade is safe.
Also in Agent frameworks and SDKs
See all 142| Rank | Project | Score |
|---|---|---|
| 1 | ppt-masterAgent skill that turns documents into natively editable PowerPoint decks | 96 out of 100 |
| 2 | openai-agents-pythonPython SDK for multi-agent workflows with handoffs, guardrails and tracing | 92 out of 100 |
| 3 | mastraTypeScript framework for building AI agents, workflows and MCP servers | 92 out of 100 |
| #4 | browser-usePython library that lets an LLM agent control a web browser | 90 out of 100 |
| #5 | copilotkitReact and Angular SDK for adding agent chat and generative UI to apps | 90 out of 100 |