How to add property to an actor that exists and can be changed only from editor?
So far I tried putting the properties ( UChildActorComponent*
) inside #if WITH_EDITORONLY_DATA
#if WITH_EDITORONLY_DATA
UPROPERTY(EditAnywhere, Category = QoL)
TSubclassOf<AEquipmentActor> EquipmentActorClass;
UPROPERTY(VisibleDefaultsOnly)
UChildActorComponent* QoLActor;
#endif
and in constructor
#if WITH_EDITORONLY_DATA
this->QoLActor = CreateDefaultSubobject<UChildActorComponent>(TEXT("Quality of Life Actor"));
this->QoLActor->SetupAttachment(RootComponent);
this->QoLActor->SetChildActorClass(this->EquipmentActorClass);
#endif
it can be seen and changed in editor, if you try to access it from outside #if WITH_EDITORONLY_DATA
or #if WITH_EDITOR
it fails to compile, everything seems fine
The problem is, the blueprint is serialized and the component is still there when the game is packaged