LimboAI - Behavior Trees and State Machines for Godot 4
See the code
Supported Godot Engine: 4.6 (see below for older versions)
LimboAI is an open-source C++ plugin for Godot Engine 4 providing a combination of Behavior Trees and State Machines, which can be used together to create complex AI behaviors. It comes with a behavior tree editor, built-in documentation, visual debugger, extensive demo project with a tutorial, and more! While it is implemented in C++, it fully supports GDScript for creating your own tasks and states.
If you enjoy using LimboAI, please consider supporting my efforts with a donation on Ko-fi ๐ Your contribution will help me continue developing and improving it.

Behavior Trees are powerful hierarchical structures used to model and control the behavior of agents in a game (e.g., characters, enemies). They are designed to make it easier to create rich and highly modular behaviors for your games. To learn more about behavior trees, check out Introduction to Behavior Trees and our demo project, which includes a tutorial.

[!NOTE] Demo project lives in the
demofolder, and is available separately in Releases. Rundemo/scenes/showcase.tscnto get started. It also includes a tutorial that introduces behavior trees through illustrative examples.
YouTube videos produced by various creators
| Plugin Version | GDExtension/AssetLib | Module |
|---|---|---|
1.8.x releases | Godot 4.6 or higher | Godot 4.7 |
1.7.x releases | Godot 4.6 or higher | Godot 4.6 |
1.6.x releases | Godot 4.4, 4.5, 4.6 | Godot 4.6 |
1.5.x releases | Godot 4.4, 4.5 | Godot 4.5 |
1.4.x releases | Godot 4.4, 4.5 | Godot 4.4 |
1.2.0-1.3.x releases | Godot 4.3 | Godot 4.3 |
1.1.x releases | Godot 4.2 | Godot 4.2 |
Behavior Trees (BT):
BehaviorTree resources in the editor.BehaviorTree resources using the BTPlayer node.BTAction, BTCondition, BTDecorator, and BTComposite.Blackboard.
StringName properties ending with "_var").BTSubtree task to execute a tree from a different resource file, promoting organization and reusability.BehaviorTreeView node (for custom in-game tools).Hierarchical State Machines (HSM):
LimboState class to implement state logic.LimboHSM node serves as a state machine that manages LimboState instances and transitions.LimboHSM is a state itself and can be nested within other LimboHSM instances.BTState for advanced reactive AI.LimboState, delegate the implementation to your callback functions, making it perfect for rapid prototyping and game jams.Tested: Behavior tree tasks and HSM are covered by unit tests.
GDExtension: LimboAI can be used as extension. Custom engine builds are not necessary.
Demo + Tutorial: Check out our extensive demo project, which includes an introduction to behavior trees using examples.
Follow the Getting started guide to learn how to get started with LimboAI and the demo project.
LimboAI can be used as either a C++ module or as a GDExtension shared library. GDExtension version is more convenient to use but somewhat limited in features. Whichever you choose to use, your project will stay compatible with both and you can switch from one to the other any time. See Using GDExtension.
modules/limboai directory.tests=yes and run it with --test --tc="*[LimboAI]*".scons target=editor to build the plugin library for your current platform.
limboai/godot-cpp directory.demo/addons/limboai/bin/scons -h for other options and targets.Contributions are welcome! Please open issues for bug reports, feature requests, or code changes. For detailed guidelines on contributing to code or documentation, check out our Contributing page.
If you have an idea for a behavior tree task or a feature that could be useful in a variety of projects, open an issue to discuss it.
Need help? We have a Discord server: https://discord.gg/N5MGC95GpP
I write about LimboAI development on Mastodon: https://mastodon.gamedev.place/@limbo.
Use of this source code is governed by an MIT-style license that can be found in the LICENSE file or at https://opensource.org/licenses/MIT
LimboAI logo and demo project art assets are licensed under the Creative Commons Attribution 4.0 International license that can be found at https://creativecommons.org/licenses/by/4.0/
(top 24 of 36)
430 followers ยท starred Nov 2024
494 followers ยท starred Dec 2025
966 followers ยท starred Aug 2024
56 followers ยท starred Jul 2023
LimboAI - Behavior Trees and State Machines for Godot 4
See the code
Supported Godot Engine: 4.6 (see below for older versions)
LimboAI is an open-source C++ plugin for Godot Engine 4 providing a combination of Behavior Trees and State Machines, which can be used together to create complex AI behaviors. It comes with a behavior tree editor, built-in documentation, visual debugger, extensive demo project with a tutorial, and more! While it is implemented in C++, it fully supports GDScript for creating your own tasks and states.
If you enjoy using LimboAI, please consider supporting my efforts with a donation on Ko-fi ๐ Your contribution will help me continue developing and improving it.

Behavior Trees are powerful hierarchical structures used to model and control the behavior of agents in a game (e.g., characters, enemies). They are designed to make it easier to create rich and highly modular behaviors for your games. To learn more about behavior trees, check out Introduction to Behavior Trees and our demo project, which includes a tutorial.

[!NOTE] Demo project lives in the
demofolder, and is available separately in Releases. Rundemo/scenes/showcase.tscnto get started. It also includes a tutorial that introduces behavior trees through illustrative examples.
YouTube videos produced by various creators
| Plugin Version | GDExtension/AssetLib | Module |
|---|---|---|
1.8.x releases | Godot 4.6 or higher | Godot 4.7 |
1.7.x releases | Godot 4.6 or higher | Godot 4.6 |
1.6.x releases | Godot 4.4, 4.5, 4.6 | Godot 4.6 |
1.5.x releases | Godot 4.4, 4.5 | Godot 4.5 |
1.4.x releases | Godot 4.4, 4.5 | Godot 4.4 |
1.2.0-1.3.x releases | Godot 4.3 | Godot 4.3 |
1.1.x releases | Godot 4.2 | Godot 4.2 |
Behavior Trees (BT):
BehaviorTree resources in the editor.BehaviorTree resources using the BTPlayer node.BTAction, BTCondition, BTDecorator, and BTComposite.Blackboard.
StringName properties ending with "_var").BTSubtree task to execute a tree from a different resource file, promoting organization and reusability.BehaviorTreeView node (for custom in-game tools).Hierarchical State Machines (HSM):
LimboState class to implement state logic.LimboHSM node serves as a state machine that manages LimboState instances and transitions.LimboHSM is a state itself and can be nested within other LimboHSM instances.BTState for advanced reactive AI.LimboState, delegate the implementation to your callback functions, making it perfect for rapid prototyping and game jams.Tested: Behavior tree tasks and HSM are covered by unit tests.
GDExtension: LimboAI can be used as extension. Custom engine builds are not necessary.
Demo + Tutorial: Check out our extensive demo project, which includes an introduction to behavior trees using examples.
Follow the Getting started guide to learn how to get started with LimboAI and the demo project.
LimboAI can be used as either a C++ module or as a GDExtension shared library. GDExtension version is more convenient to use but somewhat limited in features. Whichever you choose to use, your project will stay compatible with both and you can switch from one to the other any time. See Using GDExtension.
modules/limboai directory.tests=yes and run it with --test --tc="*[LimboAI]*".scons target=editor to build the plugin library for your current platform.
limboai/godot-cpp directory.demo/addons/limboai/bin/scons -h for other options and targets.Contributions are welcome! Please open issues for bug reports, feature requests, or code changes. For detailed guidelines on contributing to code or documentation, check out our Contributing page.
If you have an idea for a behavior tree task or a feature that could be useful in a variety of projects, open an issue to discuss it.
Need help? We have a Discord server: https://discord.gg/N5MGC95GpP
I write about LimboAI development on Mastodon: https://mastodon.gamedev.place/@limbo.
Use of this source code is governed by an MIT-style license that can be found in the LICENSE file or at https://opensource.org/licenses/MIT
LimboAI logo and demo project art assets are licensed under the Creative Commons Attribution 4.0 International license that can be found at https://creativecommons.org/licenses/by/4.0/
(top 24 of 36)
430 followers ยท starred Nov 2024
494 followers ยท starred Dec 2025
966 followers ยท starred Aug 2024
56 followers ยท starred Jul 2023