Home

Awesome

<p align="center"> <img src="doc/images/logo.svg" width="400" alt="LimboAI logo"> </p>

LimboAI - Behavior Trees & State Machines for Godot 4

🔗 All builds 🔎 Unit Tests Documentation Status GitHub License Discord Mastodon Follow

🛈 Supported Godot Engine: 4.3 (v1.2.0+) | 4.2 (v1.1.x releases)

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.

ko-fi

Textured screenshot

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.

Demonstration

Charger from Demo

🛈 Demo project lives in the demo folder and is available separately in Releases. Run demo/scenes/showcase.tscn to get started. It also includes a tutorial that introduces behavior trees through illustrative examples.

Videos

🛈 YouTube videos produced by various creators

<a href="https://www.youtube.com/watch?v=NWaMArUg7mY"><img src="https://img.youtube.com/vi/NWaMArUg7mY/0.jpg" width=410></a> <a href="https://www.youtube.com/watch?v=aP0Aacdxmno"><img src="https://img.youtube.com/vi/aP0Aacdxmno/0.jpg" width=410></a> <a href="https://www.youtube.com/watch?v=vZHzMO90IwQ"><img src="https://img.youtube.com/vi/vZHzMO90IwQ/0.jpg" width=410></a> <a href="https://www.youtube.com/watch?v=gAk3xl5fBsM"><img src="https://img.youtube.com/vi/gAk3xl5fBsM/0.jpg" width=410></a>

Features

First steps

Follow the First steps guide to learn how to get started with LimboAI and the demo project.

Getting LimboAI

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.

Precompiled builds

Compiling from source

For GDExtension

Using the plugin

Contributing

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.

Social

Need help? We have a Discord server: https://discord.gg/N5MGC95GpP

I write about LimboAI development on Mastodon: https://mastodon.gamedev.place/@limbo.

License

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/