Setting a variable as a blueprint type

I have the following class:

UCLASS()
class ESCAPE_FROM_CAELUM_API ACharacterWeapon : public AActor
{
	GENERATED_BODY()
	
public:	
	// Sets default values for this actor's properties
	ACharacterWeapon();

protected:

	UPROPERTY(BlueprintReadOnly, EditAnywhere)
	USkeletalMeshComponent* WeaponComponent;

	UPROPERTY(BlueprintReadWrite, EditAnywhere)
	UBoxComponent* BoxComponent;

	UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "EFC|SocketName");
	FName SocketName;

public:	

	USkeletalMeshComponent* GetWeaponComponent() const;
	UBoxComponent* GetBoxComponent() const;

	FName GetSocketName();
};

From this ive created a blueprint:

In my player character ive added the following:

	UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "EFC|CharacterWeapon");
	class ACharacterWeapon* CharacterWeapon;

This correctly shows up in my class detail view however i am unable to set the blueprint ive created:

Can anyone tell me what ive done wrong?