[Question] Calling one blueprint from another blueprint

I have asked the same question about two months ago, so I won’t unburry old one just make new one.
Here is old one:


I was told to use “SpawnActor”, but it seems like it didn’t make to new build (or I can’t find it).
On very simple level I have this function:

UFUNCTION(BlueprintCallable, Category=Inventory)
void EquipAbility(ARPGAbility* ability); 

And I want to use it to assign another blueprint. (I just create new blueprint that inherit from ARPGAbility class).
I can create class Variable and assign it trough Default Value in Details panel.

Oddly enough when I drag variable to viewport, and try to assign the same class it’s not working. I just can’t select my Blueprint class.

So according to James I can change to this:

UFUNCTION(BlueprintCallable, Category=Inventory)
void EquipAbility(TSubclassOf ability); 

But after some consideration I just think it’s not good solution either. It probably make creating blueprints easier, but coding is getting harder at the same time.

My question is: Are there plans to make creating objects inside blueprints more straight forward ?

It would be extremely nice if we could just create object variable straight of our blueprint class. Just click add variable, select object, look for our blueprint class and be done with it.

We recently added the long-awaited Blueprint Comms feature here, which will be in the next QA build. This allows you to create Object variables of any Blueprint class as you describe.