This C++ library provides a framework to create BehaviorTrees. It was designed to be flexible, easy to use and fast.
Even if our main use-case is robotics, you can use this library to build AI for games, or to replace Finite State Machines in you application.
BehaviorTree.CPP has many interesting features, when compared to other implementations:
- It makes asynchronous Actions, i.e. non-blocking, a first-class citizen.
- It allows the creation of trees at run-time, using a textual representation (XML).
- You can link staticaly you custom TreeNodes or convert them into plugins which are loaded at run-time.
- It includes a logging/profiling infrastructure that allows the user to visualize, record, replay and analyze state transitions.
This project was moved to https://github.com/BehaviorTree/BehaviorTree.CPP