I have a simple parallel running a main task (move to) with a task blueprint running in the background. The background task loops by itself on completion, however since the task is completed very fast it loops to often. I thought i could solve this by adding a Cooldown decorator to the task, but this prevents it from firing more than once until the main task is completed.
I’m not sure what you mean by ‘self looping’ task. When a BT task finishes the control goes back to the tree (BehaviorTreeComponent
, to be more precise) and the next task is found. To repeat, loop tasks you need to use dedicated decorators (like BTDecorator_Loop
). I can see you don’t have anything like that so as soon as the “background” task finishes then that’s it, that branch is done and the parallel node waits for the main task to finish.
I hope it helps.
Cheers,
–mieszko
I have played the background with and without a loop decorator, as long as the main task is in progress the background task plays, finishes and starts over both with and without the loop decorator. However if i add the Cooldown decorator it plays only once regardless of whether i have the loop decorator or not.
The task i run in the background currently only contains printstring to show how many times it runs and a finish excecute.
Here are screenshots of my Task BP and of the different variations of Decorators on the Task with added screenshot of the output log for the respective situations.
Sorry for bumping the topic, but I am currently having this same issue. I have a very simple Behavior Tree setup, with just a Simple Parallel node with a MoveTo Task and an Attack Task. When adding a Cooldown decorator to the Attack Task, it just works once. Were you able to solve this problem?
I also encountered this issue. I noticed, that if I have another task next to my task with the cooldown decorator, it works fine, it only behaves strangely, if it is the only task on that branch. However if it is the only one, you might use the wait task.