Hello guys, i am experiencing this problem were calling a delay node after a finish execute node in an AI tree never finishes. I can see the Delay getting triggered in Debug mode but after waiting 3 seconds nothing happens, when i am expecting in this case for it to print “Delay Completed”.
Note: I tried removing the DoOnce node and that made no difference.
Any idea what could be causing this? Help greatly appreciated!
If i remove the Delay node, all other nodes after the FinishExecute node has no problem executing though. Like if the delay is removed and i am just printing after the FinishExecute node it prints fine. (the print node before the delay works for example)
I guess once you finish the Node, it will execute all the way to the end, for that tick, before the Behavior Tree moves to the next node and the Task get’s reset and the tree iterates from the start again.
The Task node “exists” until you finish it. Your delay node can’t run because by the time the delay task completes, there’s nowhere to run on.
You can have a delay node inside the Task, but it has to complete before you Finish the Node.
Like I said before, if you want to have logic run AFTER you finish the Task, it has to be on a different Node in the Behavior Tree.
Same reason a Function can’t hold data from one call to the next.