Accessing C++ 'Native class' and it's variables from a UBlueprint object

The object is a UBlueprint of the UMyGameplayAbility class. If I cast directly to UMyGameplayAbility, it fails. While it is possible to use a UGameplayAbility class (or derived class) directly as this asset type, this sacrifices the functionality of blueprints for special abilities and removes the need to manually code every exception.