Bug? Unrecognized type

I have been using Unreal 4 for a long time, but my experience has been diminished due to lots of bugs. For example, look at this header file:

#pragma once
#include "CoreMinimal.h"
#include "PlanetStats.h"
#include "Components/ActorComponent.h"
#include "PlanetStatsComponent.generated.h"


UCLASS( ClassGroup=(Custom), meta=(BlueprintSpawnableComponent) )
class STAR_CATACLYSM_API UPlanetStatsComponent : public UActorComponent
{
	GENERATED_BODY()

public:	
	// Sets default values for this component's properties
	UPlanetStatsComponent();
	PlanetStats Stats;//NO ERROR HERE
	PlanetStats Earth;//ERROR HERE: Unrecognized type PlanetStats- Type must be a UCLASS,USTRUCT, or UENUM
protected:
	// Called when the game starts
	virtual void BeginPlay() override;

public:	
	// Called every frame
	virtual void TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override;
	UFUNCTION(BlueprintCallable)
	void Initialize(PlanetStats stats);
	
};

There is no reason that one of my PlanetStats objects should not have an error while the other one causes the error listed above. They are exactly the same except for their identifiers. I am certain this is a bug of some sort. Can anyone confirm this is a bug and, if possible, tell me how to fix this?

UFUNCTION(BlueprintCallable)
void Initialize(PlanetStats stats);

Error originates most likely frome here. Since you exposed it to BP with the BlueprintCallable Specifier the Arguments also need to be recognized by Blueprints.

Since your type PlanetStats is missing a Prefix and the error also suggests that its not something Blueprints would recognize. Next time attach the Compiler Output Log, makes it much easier :stuck_out_tongue_winking_eye:

Cheers