A C# library for implementing AI and game logic behavior trees using a fluent API.
Fluent Behaviour Tree is a C# library that implements behavior trees—a hierarchical model for AI and game logic—using a fluent API. It allows developers to define complex decision-making processes, such as character behaviors or game state management, through a readable, chainable syntax. The library handles node execution, status propagation, and tree structuring to streamline AI development.
Game developers and AI programmers working in C#, particularly those using Unity or other .NET-based game engines who need structured, maintainable AI logic.
Developers choose it for its fluent API that simplifies behavior tree construction compared to traditional imperative approaches, reducing nesting and improving code clarity. It’s lightweight, focused solely on behavior trees, and integrates easily into game loops.
C# behaviour tree library with a fluent API
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The chainable syntax reduces nesting and boilerplate, making behavior trees more readable and maintainable, as demonstrated in the builder pattern examples in the README.
Includes core behavior tree nodes like Sequence, Selector, Parallel, Condition, and Inverter, covering fundamental AI decision-making structures without unnecessary complexity.
Supports deep nesting and splicing of sub-trees, enabling modular AI design and component reuse, as shown in the splicing example that allows reusable sub-tree integration.
Provides a Tick method that accepts time delta data, allowing easy integration into standard game update cycles without additional setup.
Missing advanced behavior tree concepts like decorator nodes, blackboards for shared data, or event-driven updates, which are common in more comprehensive AI libraries.
The README does not mention built-in debugging tools, such as visual tree inspection or detailed logging, making troubleshooting complex trees more challenging.
As a smaller, focused library, it lacks the extensive documentation, tutorials, and third-party extensions found in larger AI frameworks, potentially slowing down development.