I am a little confused about decorator behavior. I am assuming that decorators act like if checks. Meaning they are checked sequentially and once one fails the subsequent are not even checked. But that is not the behavior I am observing.
On the left side of the above tree the first decorator is checking that the blackboard variable “Target To Follow” is set. Then the “CloseEnough” Decorator is using that variable. So my assumption is that if “Target To Follow” is unset then “CloseEnough” will not run.
In the image above you can see that the first decorator on the left branch failed and as a result the branch failed. But in the message log at the bottom you can see two errors where the Blackboard variable “TargetToFollow” was not set in the “Close Enough” Decorator. Here is the full error message:
Error Blueprint Runtime Error: Accessed None trying to read property CallFunc_GetBlackboardValueAsActor_ReturnValue from function: 'PerformConditionCheck' from node: Return Node in graph: PerformConditionCheck in object: CloseEnough with description: Accessed None trying to read property CallFunc_GetBlackboardValueAsActor_ReturnValue
And here is the “CloseEnough” Decorator for reference:
I must be missing something here, can anyone shed some light on what I am seeing? Thanks!