Behavior Tree Decorators are not aborting when observer aborts is set in the Behavior Tree. Setting Observer Aborts inside of the Decorator blueprint causes it to work as expected.

Found in 4.12.2. Reproduced in 4.11.2 and Main CL 3014400.

Steps to Reproduce
  1. Create a new Third Person Project
  2. Create a new Blackboard
  3. Create a new Behavior Tree, and link it to the Blackboard
  4. Create a new AI Controller
  5. Add a Run Behavior Tree node in the AI Controller off of Event Begin Play and set it to run the Behavior Tree you created
  6. Duplicate the Third Person Character and remove all code in the Event Graph
  7. In Class Defaults, set the AI Controller to be the one you just created
  8. Create a new BT Service and replicate the BTS_GetTargetToFollow screenshot that is attached
  9. Create a new BT Decorator and replicate the BTD_IsNearToPlayer screenshot that is attached
  10. Replicate the screenshot of the attached Behavior Tree in your Behavior Tree
  11. Add a Nav Mesh Bounds Volume to the level and place your duplicated character into the level
  12. PIE

Repro steps with attached test project
1. Open the attached project
2. PIE

Result: Notice that the AI will wait 5 seconds to being moving towards the player, even if the player is further than the maximum distance set in the decorator.

Expected: Once the player moves further than the maximum distance, the AI would begin to move towards the player again since the decorator is set to abort self.

Have Comments or More Details?

Head over to the existingAnswerHub thread and let us know what's up.

Login to Vote

ComponentGameplay - AI
Affects Versions4.114.124.13
Target Fix4.13
Fix Commit3009213
Main Commit3016298
CreatedJun 15, 2016
ResolvedJun 15, 2016
UpdatedMay 2, 2018