X157 Dev Notes

One simulant attempts to share insight with others.

Mass StateTree

You can create custom StateTrees and StateTree Tasks for use with Mass Entities.

UE 5.5 StateTree Task Examples

Mass Entity Configuration

To configure an entity to use a StateTree:

StateTree Ticking

In general, the Mass StateTree is limited to the Game thread, however it does NOT necessarily tick on every frame.

The Mass StateTree ticks for a given Entity only when it is explicitly signaled by UMassStateTreeProcessor, which itself listens for and reacts to specific UMassSignalSubsystem signals.

Thus, in your C++ code you must explicitly manage the ticking of the StateTree and ensure to signal Mass every time you want a given StateTree to tick.

Due to this CPU-efficient ticking policy, in your StateTree Task Tick methods, you will see VERY HIGH values for DeltaTime. The DeltaTime in this case is not the game thread DeltaTime, it is instead the full length of time that has elapsed since the last explicit StateTree tick, which could be many seconds ago (or longer).