Thanks for answer, Moss.
The TerrainGenerator is mainly a list of parameters that i want to be “editor usable”.
I want it to have some functions to generate another structure, but i remove everything to be sure of the failing reason.
I am affraid that putting it to transient will loose the parameters it contains when saving the level.
Like i said in the first message, this object is a property of a complex UObject declared like this:
UPROPERTY(VisibleAnywhere, Instanced, Category = Terrain)
UTerrainGenerator* TerrainGenerator;
I constructed it like this in the Object Constructor and do the same in the OnConstruction function, for it to be able to take into account the change of TerrainGeneratorTemplate class parameter (which is another property of the main Object).
TerrainGenerator = ConstructObject<UTerrainGenerator>(TerrainGeneratorTemplate, this, FName("TerrainGenerator"));
But does your answer mean, it is the normal behaviour that the level refuse to save only because i have a very simple UObject referenced in one of my actor?