Behavior Graphs can not reference scene objects due to living in the Project Panel. To overcome this, we've created the Blackboard, where the developer writes down the input fields he/she'll need and these are filled at runtime.
Once the Blackboard is filled with some entries, the Behavior component is automatically updated, adding new entries and removing those that no longer exist in the Blackboard.
For example, let's say our game has a Guard that can attack anything when it has a
target defined. We could create a
target entry in the Blackboard and ask if it's different than null. If so, follow it and attack when it's within in range.