EditInlineNew / Instanced not saving properly

Sorry it took me so long to try it myself. First I was busy, then I forgot, then I was busy again. :smiley:

It only took a few minutes so here are my results (using a custom UE 4.11.0 build).

This is my Actor class:


//.h

#pragma once

#include "GameFramework/Actor.h"

#include "InstancedTestActor.generated.h"

UCLASS()
class SOME_API AInstancedTestActor : public AActor
{
	GENERATED_UCLASS_BODY()

public:
	UPROPERTY(Instanced, EditAnywhere, Category = "Instanced", BlueprintReadOnly)
	TArray<class UActorComponent*> InstancedComponents;

};


//.cpp

#include "Some.h"

#include "InstancedTestActor.h"

AInstancedTestActor::AInstancedTestActor(FObjectInitializer const & ObjectInitializer)
	: Super(ObjectInitializer)
{
	InstancedComponents.Empty();
}

Placing an instance of this class into a level, adding a StaticMeshComponent (derived from UPrimitiveComponent) and a GameplayTasksComponent (derived from UActorComponent) to the InstancedComponents array, then saving the level, closing the editor and reopening it worked. Both components were saved and loaded correctly.
If I now create a Blueprint subclass from this actor class and add the same kinds of components in its defaultproperties it still works as expected even after restarting the editor and reloading the level.