In Unity Visual Scripting, I'd like to check to check if a Scriptable Object has data in it or not. So to do that, I tried using a Null Check node on the data directly:
You can clearly see that there's a Scriptable Object in there, but the Null Check is triggering the Null branch.
I then cast the Scriptable Object into a variable before I ran the Null Check, to make sure that wasn't the issue:
That still seemed to trigger the wrong branch. So I added a "Wait Until Next Frame" node, but got the same result.
I then wrote a subgraph called "Null Check Using Equality" which passed in an Object input and used an Equal node to check it against null. 
Again, the wrong branch was triggered.
I think I must be misunderstanding something fundamental here. Any ideas on what it could be?

