Interrupting wait task with conditional abort

syu15

New member
Hello,
I have set up my behavior tree in the configuration you can see in the screenshot. I want the wait task to be interrupted when any of the left child conditional evaluators return true, but I can't seem to get the left selector branch to be reevaluated. I've tried pretty much every combination of self/lower-priority/both for each of the selectors but it doesn't seem to work. I've also tried selecting "reevaluate" for the conditional evaluators but that didn't seem to make a difference. Is it possible to achieve what I want with conditional aborts or do I need to use something else?
Thanks,
Sarah
 

Attachments

  • Screen Shot 2021-10-03 at 2.25.11 PM.png
    Screen Shot 2021-10-03 at 2.25.11 PM.png
    26.1 KB · Views: 4

Justin

Administrator
Staff member
Do you have any tasks to the right of your screenshot? And what conditional tasks do you have? When a conditional task is reevaluating the task status indicator (success/failure) will have a circle around it so that's a good way to determine if you have the correct abort type.
 

syu15

New member
Sorry for the delay in response. I've attached a full screenshot of my entire tree. The conditional tasks are ones that I have written myself and return either a success or failure status. I've been able to verify that they are not being reevaluated using the conditional aborts I've put in place. I have a conditional task that checks if food has been dropped, and it does not run when the wait task (in green) is active, but it works when I disable the wait task.
 

Attachments

  • Screen Shot 2021-10-12 at 9.00.55 PM.png
    Screen Shot 2021-10-12 at 9.00.55 PM.png
    56.3 KB · Views: 2

Justin

Administrator
Staff member
It's hard to see from that screenshot, but if no tasks are being reevaluated then you'll need to change the abort type. This page has a great example of a behavior tree which has different conditions based on a priority of branches:

 

syu15

New member
I used that guide to set up my tree before I posted here (tried using every combination of Lower Priority/Both Selector tasks) but the end result was the same. Is there something I need to do in the conditional tasks to get it to work or is there something specific with the wait task I need to handle?
 

Justin

Administrator
Staff member
The abort types rely on the location that the current active node is within the tree. It looks like your wait task is out of the scope of the aborts so that's why they are not being reevaluated.
 
Top