Hello,
i am new to BTs and BehaviorDesigner, i read the docs but i can't solve a problem with this behavior tree.


The left branch receives an event from a coroutine in my script, moves an agent and sends an event back to my coroutine.
The right branch should just run until a conditional abort is triggered when the event is received on the left branch.
What i expect/want to happen
When the event is received, the idle is aborted and the left branch runs, then back to idle.
What happens
With an idle task in the right branch: just runs Forever, no aborts.
With a wait 10s task in the right branch: when the timer expires after 10s, the event is received and the left branch runs.
It is wierd because it's like it receives the event but then waits until the wait task returns success.
so my question is, what is the right way to do this?
i am new to BTs and BehaviorDesigner, i read the docs but i can't solve a problem with this behavior tree.


The left branch receives an event from a coroutine in my script, moves an agent and sends an event back to my coroutine.
The right branch should just run until a conditional abort is triggered when the event is received on the left branch.
What i expect/want to happen
When the event is received, the idle is aborted and the left branch runs, then back to idle.
What happens
With an idle task in the right branch: just runs Forever, no aborts.
With a wait 10s task in the right branch: when the timer expires after 10s, the event is received and the left branch runs.
It is wierd because it's like it receives the event but then waits until the wait task returns success.
so my question is, what is the right way to do this?