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()
{
Super::PostRegisterAllComponents();
TArray<UStaticMeshComponent*> StaticMeshComps;
GetComponents(StaticMeshComps);
for (UStaticMeshComponent* EachSMC : StaticMeshComps)
{
ComponentSet.Add(FClassInfo(EachSMC));
}
}
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:
-
How can I update the Class Defaults when a component is added to the Blueprint´s Components?
-
Why do i see only one Component in my Array, and none if i have more than one?
best regards