Deep diving into the concepts we looked at earlier, back in Chapter 2, Behavior Trees and Blackboards, a Task is a single action that our AI Agent can perform. Some examples include walking to a specific location, performing/running an EQS, locating something, chasing the players, etc. All of these actions can either fail or succeed. The final result of a task is then carried back on the Behavior Tree, with rules we have seen for Selectors and Sequences.
A task doesn't necessarily have to be executed in a frame, but it can be extended indefinitely. In fact, a Task is not finished until it reports with either a Failure or a Success. However, they can be interrupted/aborted by external nodes, such as a Decorator.
When you create a Task, regardless of whether this is done in Blueprint or C++, you will need to override some functions. Since Blueprint is easier...