Description

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
}
Steps to Reproduce

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.

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-64083 in the post.

0
Login to Vote

Fixed
ComponentTools
Affects Versions4.20
Target Fix4.22
Fix Commit4677109
Main Commit4837001
Release Commit4862694
CreatedSep 14, 2018
ResolvedJan 2, 2019
UpdatedFeb 12, 2019