Get Components of Blueprint into c++ Array

Hey there,

i currently have a TArray<FClassInfo> inside an Actorclass and its a UProperty(EditDefaultsOnly).

FClassInfo is for different kind of information i want to assign to each UStaticMeshComponent
a blueprint may have.

For now i do the following to fill my Array with components:

void ACustomClass::PostRegisterAllComponents()

	TArray<UStaticMeshComponent*> StaticMeshComps;

for (UStaticMeshComponent* EachSMC : StaticMeshComps)


as i said the ComponentSetArray is a UPROPERTY and visible in Class Defaults of a Blueprint…

However, as long as a Blueprint has only one UStaticMeshComponent which is there by default
i can see it in the Array and set up the ClassInfo properties and everything works fine with this one component.

As soon as I add another component as a child, after compiling, re-opening the editor, even the first one is gone.

So now i have 2 Question:

  1. How can I update the Class Defaults when a component is added to the Blueprint´s Components?

  2. Why do i see only one Component in my Array, and none if i have more than one?

best regards