[Enhanced Input] Why can't I store UCommonInputBaseControllerData asset as variable, nor Cast to it from UObject ?

Context:
I was trying to create a simple BP Widget that takes InputAction, InputMappingContext, and CommonInputBaseControllerData, and then finds and displays the proper Key image (prompt) acordingly to which Controler type is being used.

My issue:

I’ve noticed that when I try to store the reference to CommonInputBaseControllerData, something isn’t working as it should:


My assets derived from CommonInputBaseControllerData just do not appear in the dropdown here ^

So I tried to store these assets as UObjects first, and then Cast to the CommonInputBaseControllerData at runtime,
but every time when I try it, the Cast fails and returns null:


(on screenshot above, I’m even trying to Cast directly to the child class but it also fails in this case)

I’ve also tried to pass the UObject to the C++ function and cast there but it also didn’t work:

So my questions are:
What am I doing wrong here?
Why UCommonInputBaseControllerData is not getting stored/casted as expected?
Is it because UCommonInputBaseControllerData is an Abstract / DataOnly class?

References:
https://github.com/EpicGames/UnrealEngine/blob/5.1/Engine/Plugins/Experimental/CommonUI/Source/CommonInput/Public/CommonInputBaseTypes.h

I’m clearly missing something there, or doing something wrong.
I will be very thankful for any help :slight_smile: