I’ve been creating a custom Graph Editor based on a generic graph, as an alternative AI system analogous to the Behavior Tree. It’s been going well if not for a FBlackboardKeySelector on one of the graph’s node types. There is a standard blackboard associated with the graph, and at first I thought the linkage between available BB keys as values of the node’s KeySelector property shown in Details window would be populated by calling
UBlackboardData* BBAsset = Graph->GetBlackboardData();
if (BBAsset)
{
BlackboardKey.ResolveSelectedKey(*BBAsset);
}
else
{
(...)
}
in a method analogous to the InitializeFromAsset called for decorators, and nodes using blackboard keys within standard behavior tree graph. However this is not the case.
If I call the above code the FBlackboardKeySelector will automatically set itself to the first entry in the associated blackboard - so far so good.
The problem is, that once I try to click on the key selection dropdown in Details panel, nothing happens - no dropdown with available keys shows up. That is understandable, as the aforementioned ‘ResolveSelectedKey’ has nothing to do with presentation of all available values.
My question is - what part of code is then in charge of population of this dropdown? Or what is the proper way to treat FBlackboardKeySelectors so they can know about blackboard values available to them? I’ve been investigating the code for a long time, but to no avail, and this feature is critical for my project.