Ross ROSS = Recommend OSS · open-source software intelligence for agents

BehaviorTree/BehaviorTree.CPP

Behavior Trees Library in C++. Batteries included. observed · 2026-08-28

github.com/BehaviorTree/BehaviorTree.CPP · homepage · C++ · MIT (permissive) observed · 2026-08-28

Health v2 · maintenance only

84/100

  • Activity 97
  • Release rhythm 58
  • Longevity 100
How is this computed?

round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-02. Adoption (stars, forks) is never an input.

  • gap_med: 32
  • age_days: 2878
  • days_rel: 203
  • days_push: 19
  • n_releases_24m: 6

Full methodology

Adoption not part of the score

4174 stars · 853 forks observed · 2026-08-28

What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-29, confidence not recorded

BehaviorTree.CPP is a C++17 framework for building Behavior Trees, designed to be flexible, reactive, and fast, with asynchronous actions as first-class citizens. Trees are defined in an XML-based scripting language loaded at runtime, with runtime-loadable node plugins, type-safe dataflow between nodes, and built-in logging/profiling for recording and replaying state transitions.

Use cases

  • build behavior trees for robot control in C++
  • create AI for games instead of finite state machines
  • replace finite state machines with more modular behavior logic
  • define reactive robot behaviors with non-blocking async actions
  • load behavior tree structures from XML at runtime
  • record and replay behavior tree execution for debugging
  • integrate behavior trees with ROS2 like Nav2 or MoveIt

When to choose

  • you need production-ready behavior trees for robotics, especially with ROS2
  • you want XML-defined trees decoupled from C++ node implementations
  • you need reactive, concurrent execution of multiple actions
  • you want built-in logging, profiling, and replay of state transitions
  • you prefer behavior trees over finite state machines for complex agent logic

When to avoid

  • you need a Python or other non-C++ behavior tree library
  • your logic is simple enough that a plain state machine suffices
  • you require a free graphical editor with unlimited nodes (Groot2 PRO is paid)
  • you target platforms without C++17 compiler support

Facets

library · maturity stable

game-engine simulation logging plugin-system workflow-automation robotics artificial-intelligence simulation cpp windows cross-platform behavior-trees state-machine ros2 async-actions xml-trees groot2 game-development linux macos

5 sources

Member repositories

RepositoryRoleHealth v2
BehaviorTree/BehaviorTree.CPPmain84

For agents

markdown · JSON · MCP: product_card(name="BehaviorTree/BehaviorTree.CPP")

Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem