It can select ChildActor with the Eyedropper tool.
Since ChildActor is an actor created temporarily, when you restart the Editor it becomes empty because there is no reference. When selecting AActor from the list, child actor is filtered so it can not refer to it. When selecting Actor with the Eyedropper tool, ParentActor should be selected instead of ChildActor.
Pick up with drag and drop and pick up from list is correct.
Workaround code sample:
void SPropertyEditorAsset::OnActorSelected( AActor* InActor ) { #if 0 SetValue(InActor); #else AActor* ConsideredActor = InActor; while (ConsideredActor->IsChildActor()) { ConsideredActor = ConsideredActor->GetParentActor(); } SetValue(ConsideredActor); #endif }
1. Create a ParentActor has SceneComponent and ChildActorComponent
2. Create ChildActor with StaticMeshComponent
3. Set ChildActor to ChildActorComponent of ParentActor
4. Place ParentActor in level
5. Make the AActor Object variable Instance Editable
6. Select ParentActor with eyedropper tool
Since the eyedropper tool selects the actor that was hit, ChildActor is picked up.
ChildActor is an actor created temporarily, when restart the Editor, it becomes empty because there is no reference.
Result : Selected Child Actor.
Expect : Selected Parent Actor.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-64083 in the post.