Okay, I examined some more and figured out that it searches for int variable, but there’s only gameobject variable, that’s why it shows blank list. And it cannot understand that this gameobject actually has some int inside.
So Node Canvas can’t do deep search. It’s a great omission.
Also it can’t deal with singletons (by same cause). It can’t address variables via ClassName.instance syntax.
May I ask you to add such functionality (to search variables in deep and to bind them)?
I have replied to you regarding this (and your other question) in Discord a few moments ago.
The CheckInt and similarily the other “Check-X” conditions like CheckBool, CheckFloat etc, only check a blackboard variable of that exact type existing on the blackboard.
The reflection task found under the “Script Control” category, like CheckField and CheckProperty are more suited to check for a (code implemented) field or property respectively. Having said that though, “dot” (.) syntax is not really supported at least right now, but rather only direct field/properties declared on the target component/gameobject can be used.
I could probably add support for nested/deep fields and properties, although that will also slow down (performance wise) the initialization of the tasks and bound variables due to more reflection code required, and that is also the reason I did not add that feature initially.
Please let me know if you want to continue the discussion here or in discord, although the forums seems like a better place for this 🙂
I could probably add support for nested/deep fields and properties, although that will also slow down (performance wise) the initialization of the tasks and bound variables due to more reflection code required, and that is also the reason I did not add that feature initially.
You could do it an option for those who really needs it.