TSubclassOf<UMyGameAttributeSet> AttributesClass is lost in sparse class data

Whenever I reset the application, any class that is been selected for my TSubclassOf will be lost. Otherwise during the current session I think the blueprint and derived blueprint will maintain the correct class reference.


#pragma once

#include "CoreMinimal.h"
#include "Components/ActorComponent.h"

#include "MyGameAttributesComponent.generated.h"

class UMyGameAttributeSet;

USTRUCT(BlueprintType)
struct MYGAMEAPI FMyGameAttributesComponentClassData
{
	GENERATED_BODY()

	UPROPERTY(EditDefaultsOnly, Category = "MyGame", meta=(GetByRef))
	TSubclassOf<UMyGameAttributeSet> AttributesClass;
};

UCLASS( ClassGroup="MyGame", SparseClassDataTypes = MyGameAttributesComponentClassData, meta = (BlueprintSpawnableComponent, PrioritizeCategories = "MyGame MyGame|Internal", AutoCollapseCategories="MyGame|Internal"))
class MYGAME_API UMyGameAttributesComponent : public UActorComponent
{
	GENERATED_BODY()

public:	
	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "MyGame")
	UMyGameAttributeSet* Attributes = nullptr;
...
}