Behavior Tree Not Repeating

So I set up an extremely basic behavior tree modeled after the EQS tutorial. The logic of the tree works properly when it is running. However, it only runs once. When I add any number of wait nodes to the right in the sequence, the tree will run twice, but not more than twice. It was my understanding that if there was no next command, the AI would go back to the start of the tree and run it again.

This is the tree:

This is the FindPlayer Query:

This is the reimplementation of MoveTo from the AI tutorial:

This is the attack execution task:

This clears the target for the next run through the tree:

Everything should be returning successfully (aside from the cooldowns for the trace test), so the tree should go back to start every time after wait? Extremely confused.

From what I see in your screenshots both ExecuteAttack and RapidMove do not handle all the cases, which can result in any of these tasks just hang in there indefinitely. Also, the EQS query can fail, or be on cooldown (the decorator you’ve added) both of which will result in breaking the Sequence parent node (which in this case is the actual root node of the tree, the other “ROOT” is just for editor purposes).

Have you tries using BT debugger? It will show you what’s going on at runtime (in PIE).

Cheers,

–mieszko

Wow, that was incredibly stupid of me. Of course it would hang on subsequent ExecuteAttacks, because I had already initialized the AI Controller the previous time attack was called. And as you said, there was no logic for that case.

Thanks!