Hello,
I have a project where I procedurally generate an Actor’s properties. However, when restarting the editor, some of those properties are always nulled. I believe this is due to my UCLASS specifiers, but I am not sure how to fix it since I require some of them to edit everything inside the editor.
My structure is as follows :
Main class, which I spawn in the editor :
UCLASS()
ProceduralPlanetActor
public :
UPROPERTY(VisibleAnywhere, Instanced, Category = "Planet Settings")
UProceduralPlanetSettings* PlanetSettings;
Settings class, which controls data input :
UCLASS(DefaultToInstanced)
class PROCEDURALPLANETGENERATOR_API UProceduralPlanetSettings : public UObject
{
GENERATED_BODY()
public:
UPROPERTY(EditAnywhere)
FRandomStream Seed;
UPROPERTY(EditAnywhere)
float Radius;
UPROPERTY(EditAnywhere)
int32 Resolution;
UPROPERTY(EditAnywhere, Instanced)
TArray<UNoiseLayer*> NoiseSettings;
Shortened NoiseLayer.h class and one of its children, since its an abstract parent class :
UCLASS(Abstract)
class NOISEGENERATOR_API UNoiseLayer : public UObject
UCLASS(EditInlineNew)
class UValueNoise : public UNoiseLayer
The only data being saved after restarting the editor is the Seed, Radius and Resolution.
The array of NoiseLayers is allways nulled after restart.
How can I change my specifiers to properly save my data ?