StateTree task only ticking once

The Tick function on state tree tasks is misleading. It will only get called when someone calls UMassSignalSubsystem SignalEntity or DelaySignalEntity as you alluded to. The idea is that in EnterState you configure entities such that a processor will do the work for that task, and then once that task is done, it should use UMassSignalSubsystem to trigger the Tick function, where you then can mark the task done. You don’t have to use a processor to mark the task complete, you can do it in the task itself. For example take a look at how in FMassLookAtTask::EnterState they call MassSignalSubsystem.DelaySignalEntity which will trigger the Tick function to be called and complete the task.

4 Likes