Behavior tree, State Tree, or Blueprint State Machine?

I am building a small UE5 ecosystem prototype with 3–10 AI creatures. Each creature tracks hunger and energy, then wanders, searches for food, eats, rests, reproduces, or dies.

For a project at this small scale, would you recommend Behavior Trees with a Blackboard, StateTree, or a Blueprint state machine for the high-level decision logic? I also want to avoid evaluating every need on Event Tick. What update pattern would you use? I am curious to see how others would approach this.

Behavior Trees → “Deprecated” It will still be there, but they won’t be updating it anymore.
Blueprint state machine → u need to create Async Tasks in C++
StateTree → best option to learn and use right now

Hello @MandelbrotLight ,Welcome to the forums!

I agree with @Husky211 recommendation. For an ecosystem with only 3–10 creatures, I would probably use State Trees.

A Blueprint State Machine can be a good option for handling AI, but as you add more variables and states (hunger, energy, wandering, searching for food, eating, resting, reproducing, etc.), you end up managing all the transitions and conditions manually. It works well for simple prototypes, but I wouldn’t use it in this case since it requires more setup and maintenance effort compared to the other options.

Behavior Trees are a solid solution and have been the standard approach for AI in Unreal for many years. They typically work alongside a Blackboard, which acts as a shared memory system that stores information relevant to decision-making, such as goals, needs, or character states. The Behavior Tree reads that information and decides which branch of logic to execute. They are extremely flexible and can be used for anything from simple behaviors to very complex AI systems, but for a setup where creatures are simply switching between a few high-level states, they may be more complex than necessary.

How to Make a Simple Behavior Tree

State Trees combine concepts from both State Machines and Behavior Trees. They use the Selectors found in Behavior Trees together with the States and Transitions of a traditional State Machine, allowing you to create hierarchical logic that remains organized, easy to visualize, and easy to debug. They are also highly performant, offer better scalability than a Blueprint State Machine, and generally require less setup than a full Behavior Tree for this type of behavior. I also find them easier to learn and work with, especially when you only need to manage a small set of states and transitions.

How to Use State Trees for AI

This video is also good since it gives a brief explanation of all three approaches.

In your case, where the creatures are basically switching between a few states, I think State Trees provide the best balance between simplicity, readability, and scalability, without requiring you to implement all the decision logic manually in Blueprints or build a complete Behavior Tree solution for a simple AI system.

Hope it helps!