Ready-made StateTree tools for Unreal Engine 5
A plugin for Unreal Engine 5 that extends the StateTree system with ready-made tasks, components, and utilities - so you can build AI and gameplay logic faster without writing custom C++.
Hey you! Enjoying State Tree Tools? Unsure about whether you want to buy? I want to hear from you. Mail support@lunarworkshop.com with questions and suggestions.
Examples of what you can build with StateTree Tools - patrol AI, perception-driven behaviour, ability-driven state machines, and more.
Install the plugin, enable it in your project, and set up your first StateTree using StateTree Tools tasks.
Instructions for contributors building the plugin from the source repository, including the one-time environment setup required for UE 5.5 and earlier.
User-visible functionality changes are tracked here so readers can quickly see what changed between documentation updates.
Tasks run when a state is entered or exited and can keep the state alive while they do work.
| Category | Description |
|---|---|
| Actor | Find actors in the world |
| Audio | Play and stop sounds on actors |
| Animation | Trigger and control animation montages |
| Debug | Draw debug shapes; flush debug lines and strings |
| Niagara | Spawn and manage Niagara particle systems |
| Navigation | Find random reachable points for patrol and wandering |
| Enhanced Input | Add and remove Enhanced Input mapping contexts |
| Input | Set player controller input modes |
| UI | Create widgets, call widget events, and listen to widget events |
| Gameplay | Actions | Drive async Blueprint logic from a StateTree state |
| Gameplay | StateTree | Send events with typed payloads to StateTree components |
| Utilities | Events | Call Blueprint events and dispatchers on actors by name |
| Utilities | Properties | Set actor and component properties by name |
| Abilities | Activate GAS abilities and send gameplay events |
| System | Quit the application |
Requires UE 5.5 or later. Property functions are not available in UE 5.4.
Property functions compute a value each time a binding is evaluated.
| Category | Description |
|---|---|
| Components | Get root component and other component accessors |
| Enhanced Input | Access Enhanced Input subsystems |
| Game | Access game-level objects such as player controllers |
| UI | Access widget-specific values such as animations |
| Math | Float | Arithmetic, comparisons, trigonometry, and general float math |
| Math | Vector | Vector arithmetic, measurement, and conversion |
| Utilities | String conversion and general value utilities |
| Call Pure Function | Call a BlueprintPure function and expose its return value as a binding |
| Gameplay Attributes | Read GAS float attributes from an actor’s Ability System Component |
Conditions test a value and return true or false, used in transitions and state selection.
| Category | Description |
|---|---|
| Gameplay Tags | Check gameplay tag state on an actor’s Ability System Component |
| Component | Description |
|---|---|
| Perception Event Forwarder | Forwards AI perception events into the StateTree event system |
| Primitive Event Forwarder | Forwards primitive component events (overlaps, hits, physics, input) into the StateTree event system |
| GAS Event Forwarder | Forwards GAS gameplay events and tag changes into the StateTree event system |