Say I have something like:
UCLASS(Abstract, Blueprintable)
class GUNSGALORE_API ABaseWeapon : public AActor
I want to derive from this class in Blueprints and use those children as my actual weapons. Now, to give a weapon to my dude, I might want to have a function like so:
UFUNCTION(BlueprintCallable, Category = "Game", DisplayName = "Equip Weapon Of Type")
void EquipWeaponOfType(TSubclassOf<class ABaseWeapon> WeaponClass);
However the drop-down in Blueprints doesn’t match what I’m expecting:
Here, BaseWeapon/Beam/Hitscan/Projectile should ideally not be shown since they are Abstract and should not be initialized.
Is there a better way to enforce this?