Last December, we’ve talked about this: https://nodecanvas.paradoxnotion.com/forums/topic/bug-critical-global-bbs-properties-are-never-bound/
Just figured out there is more to it.
allGlobals.Add() could be called from 3 places: OnValidate, Awake, and Find. But only in Awake was _blackboard.InitializePropertiesBinding called, and even then only if not already in allGlobals.
This had the obvious effect on bound properties – they were never bound.
And call it instead from those 3 places, after if (!allGlobals.Contains(this)) in Awake and OnValidate. Putting the if inside would duplicate the check in Find.
Have you made the changes we discussed on that other post?
InitializePropertiesBinding, is called only from in Blackboard Awake (and by extend GlobalBlacboardAwake since it calls base.Awake() and it does not matter whether or not the GlobalBlackboard has been added in the allGlobals list. PropertyBindings will always be called in awake, since it is a runtime thing too, while the allGlobals is simply a list for faster accessing the GlobaBlackboards.
Maybe there is something else going on here? Can you please provide a way to reproduce the error you are facing here?
If you want me to send you the current versions of Blackboard and GlobalBlackboard, so that we ensure we are on the same page, please let me know.