My Blueprint Class isnt showing up in DropDown variable list for Blueprint class type

can someone help me figure out why my Assault rifle blueprint class isnt showing up inside my drop down in my player blueprint class? I have created my AMasterWeapon class. Created a C++ class that derives from AMasterWeapon(my Assault rifle) and then in my character class I added AMasterWeapon* weapon variable. When I go to add my weapon in the drop down it says none even though my Assault Rifle is a child class of AMasterWeapon. Am I doing something wrong or does UE4 not have this capability?

 UCLASS(Blueprintable, BlueprintType)
  class PROJECTDELOREAN_API AMasterWeapon : public AActor
      *// Sets default values for this actor's properties*
      *// Called when the game starts or when spawned*
      virtual void BeginPlay() override;
      *// Called every frame*
      virtual void Tick(float DeltaTime) override;
        UPROPERTY(EditAnywhere, BlueprintReadWrite)
      float WeaponDamage;
        UPROPERTY(EditAnywhere, BlueprintReadWrite)
      float WeaponRange;
      UPROPERTY(EditAnywhere, BlueprintReadWrite)
      float MaxAmmo;

    UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=Gameplay)
      AMasterWeapon* Weapon;

Do you have any instances of the weapon already placed in the world? A pointer wants an object reference not a class reference.

Ah I see . How would I go about using a class reference?

Solved! I had to us TSubclassOf<class AMasterWeapon>. Thanks