Component hierarchy information is lost when modifying an Instance of a Blueprint that Inherits from a C++ Pawn. Specifically, when this instance's hierarchy is modified via the World Outliner Editor details panel.

Steps to Reproduce

1. Create new Blank C++ Project.

2. Right click content folder and create a new c++ class based upon Pawn.

3. Inside of MyPawn.H create the following property declaration.

UPROPERTY(EditAnywhere, BlueprintReadWrite)
		UStaticMeshComponent* Mesh; 

4. Inside of MyPawn.Cpp, In the constructor of MyPawn() create the following

Mesh = CreateDefaultSubobject<UStaticMeshComponent>("Mesh");

5. Build the Project, Hot Reload.

6. Create a Blueprint Class Inherited from MyPawn.

7. Inside of Blueprint Editor for MyMyPawn add a Scene Component.

8. Compile & Save.

9. Drag an Instance of this Blueprint into the Level.

10. Select the MyMyPawn Actor from the World Outliner, and from the details panel->Add Component-> Scene.

11. Attach this Scene1 Component so it is a child of the Scene(Inherithed) component.

12. De-select off of MyMyPawn from the World Outliner(simply click another object)

13. Select MyMyPawn from the World Outliner and Observe the Component Hiarchery in the details panel.

Result: Scene1 is parented to the Root Component of the Pawn, rather than a child of Scene Component.

Expected: Scene1 would successfully child to Scene Component.

Have Comments or More Details?

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

Login to Vote

Affects Versions4.
CreatedJan 31, 2019
UpdatedFeb 5, 2019