Changing the default Child Actor Class for a ChildActorComponent in a Blueprint after an instance of that Blueprint has been added to a level results in the instance in the level gaining an extra ChildActorComponent when seen in the World Outliner. Deleting the instance in the level will then result in one of the ChildActorComponents being left in the level.

Steps to Reproduce
  1. Download the attached DemoChildActor project.
    • Created in Main (CL 2765475).
  2. Associate the project with Main.
  3. Build the project in Visual Studio.
  4. Open the project in the Editor.
  5. Select the Cube in the Editor that is part of MyFirstActor_BP.
  6. Note in the World Outliner that the Blueprint has a ChildActorComponent named FirstTestActor_BP.
  7. Open MyFirstActor_BP in the Blueprint Editor.
  8. Locate the The Child property and change the default Child Actor Class to SecondTestActor_BP.
  9. Note that the World Outliner now shows two ChildActorComponents for the MyFirstActor_BP Blueprint in the level, and both are named SecondTestActor_BP.
  10. Select and delete the MyFirstActor_BP Blueprint from the level.
  11. Note that one of the two ChildActorComponents is deleted with the Blueprint and the other is left in the level.

The instance of the Blueprint in the level still only has a single ChildActorComponent when the default Child Actor Class is changed, and deleting the Blueprint does not leave the ChildActorComponent in the level.

Have Comments or More Details?

There's no existing public thread on this issue, so head over to AnswerHub just mention UE-23335 in the post.

Login to Vote

Cannot Reproduce
ComponentGameplay - Components
Affects Versions4.
Target Fix4.22
Fix Commit4859973
CreatedNov 13, 2015
ResolvedJan 31, 2019
UpdatedJan 31, 2019