Hello,
I came across an unexpected behavior with blackboard decorators in a specific scenario. I was able to reproduce it in a very simple project.
The setup is as follows:
[Image Removed]
- AAA = true by default
- BBB =
truefalse by default
Both blackboard decorators use Observer Aborts = Lower Priority.
BTTask_Test only sets AAA to false, then back to true, and waits, as shown below.
[Image Removed]
When the behavior tree runs:
- BTTask_Test starts executing.
- AAA is set to false.
- After some time, AAA is set back to true
- While BTTask_Test is still active, the value of BBB is changed to true by game logic.
At this point, I would expect BTTask_Test to be aborted and the Wait task to start executing. However, this does not happen. I am trying to determine whether this behavior of blackboard decorators is correct or not.
From the UE source code, it appears that when AAA is set to false, the second blackboard decorator becomes not relevant. However, when AAA is set back to true, it does not become relevant again.
Is this expected behavior, or is it a bug?
[Attachment Removed]