https://github.com/thepat02/behaviourtoolkit
A collection of tools for AI Behaviour in the Godot 4 Game Engine!
https://github.com/thepat02/behaviourtoolkit
behaviour-tree finite-state-machine godot
Last synced: about 2 months ago
JSON representation
A collection of tools for AI Behaviour in the Godot 4 Game Engine!
- Host: GitHub
- URL: https://github.com/thepat02/behaviourtoolkit
- Owner: ThePat02
- License: mit
- Created: 2023-10-19T10:24:26.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-12T09:28:52.000Z (5 months ago)
- Last Synced: 2025-04-08T06:35:49.249Z (3 months ago)
- Topics: behaviour-tree, finite-state-machine, godot
- Language: GDScript
- Homepage:
- Size: 1.39 MB
- Stars: 488
- Watchers: 6
- Forks: 18
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README

# BehaviourToolkit for Godot 4
This plugin provides a set of tools to create custom and complex behaviour in the Godot 4.x Game Engine.### Features
-  Behaviour Architectures
-  Finite State Machine
-  Behaviour Tree with generic utility
-  Nest Behaviour Trees inside State Machines and vice versa!
-  Blackboard Resource
- Editor Interface with shortcuts
- [Templates](docs/documentation.md#using-script-templates) for easy extension and integration
- Example SceneWhen a new version is available on GitHub, the plugin will display a notification in the Toolbox!
## Installation
- Clone the `main` branch of this repository to your machine
- Download the latest release from the [Godot Asset Lib](https://godotengine.org/asset-library/asset)
- Add the `submodule` branch as [Git Submodule](https://git-scm.com/docs/git-submodule) to your own repo
- The `submodule` branch is **always** up to date with `main` and will allow you to consistently use the newest version by `pulling`
- If you are not confident in your CL skills, you can use a client like GitKraken to set this up## Usage
Make sure the clones the `addons` and `script_templates` directories into your project.1. Add a `FiniteStateMachine` or `BTRoot` node to your scene.
2. A toolbox will appear in the editor, allowing you to add behaviour nodes to the scene.
3. Setup and configure your behaviour nodes in the inspector.
4. Right-click your `FSMState`/`FSMTransition`/`BTLeaf` and extend the script.Now you can implement your own behaviour logic using the virtual methods provided by the script templates.
## Documentation
- [Documentation](docs/documentation.md)
- [Finite State Machine](docs/documentation.md#finite-state-machine)
- [Behaviour Tree](docs/documentation.md#behaviour-tree)
- [Blackboard](docs/documentation.md#-blackboard)
- [Nesting Behaviours inside Behaviours](docs/documentation.md#nesting-behaviours-inside-behaviours)
## Notes
This is the first time I've ever made a bigger plugin for Godot, so I am happy for any suggestions, feedback and contributions. If you need help or have any questions, feel free to contact me on Discord (`thepat02`) or open an issue on GitHub!You can also [buy me a coffee](https://ko-fi.com/pat02) if you like the plugin and feel like supporting me :D
Have fun creating awesome behaviours!
## Star History
[](https://star-history.com/#ThePat02/BehaviourToolkit&Timeline)