Plugin version:

I have created custom SharedVariable:
And now, when I trying to add variable in the BehaviorTree I can't find it. Is it bug, or I did something wrong?

Also, what about runtime variables? Is it possible to create runtime variable which will not be visible in the inspector, but nodes will have access to them?
It would be great to set variables through code without needing to define them in the inspector.
Now I need to predefine a lot of variables in the inspector and then write such as code to assign values. I want to skip predifine step

I have created custom SharedVariable:
C#:
[Serializable]
public class AiController
{
private GameWorld _gameWorld;
private Player _player;
// ...
}
[Serializable]
public class SharedAiController : SharedVariable<AiController>
{
public static implicit operator SharedAiController(AiController value) { return new SharedAiController { Value = value }; }
}
And now, when I trying to add variable in the BehaviorTree I can't find it. Is it bug, or I did something wrong?

Also, what about runtime variables? Is it possible to create runtime variable which will not be visible in the inspector, but nodes will have access to them?
It would be great to set variables through code without needing to define them in the inspector.
C#:
_behaviourTree.SetVariableValue("Conditions", _conditions);
_behaviourTree.SetVariableValue("GameWorld", _gameWorld);
_behaviourTree.SetVariableValue("Controller", this);
// etc