Description

When using the Reparent Blueprint node in an Editor Utility Blueprint, e.g. an Asset Action Utility, compilation errors will occur if you try to reparent a blueprint with a native parent class to a blueprint parent class.

Notably, this node is able to reparent from native parent class to native parent class, and from blueprint parent class to blueprint parent class, just not from native to blueprint. It is also notable that changing the blueprints parent class from a native class to a blueprint class in the Class Settings panel in the Editor works as expected.

The following compilation errors are thrown when attempting to follow the steps to reproduce:
LogBlueprint: Error: [AssetLog] C:\Users\Hayden\Perforce\UDN_5_2\Content\BlutilityReparent\BP_ChildActor.uasset: [Compiler] Internal Compiler Error: Tried to create a property DefaultSceneRoot in scope SKEL_BP_ChildActor_C, but another object (ObjectProperty /Game/BlutilityReparent/BP_ParentActorOne.SKEL_BP_ParentActorOne_C:DefaultSceneRoot) already exists there.
LogBlueprint: Error: [AssetLog] C:\Users\Hayden\Perforce\UDN_5_2\Content\BlutilityReparent\BP_ChildActor.uasset: [Compiler] Internal Compiler Error: Tried to create a property DefaultSceneRoot in scope SKEL_BP_ChildActor_C, but another object (ObjectProperty /Game/BlutilityReparent/BP_ParentActorOne.SKEL_BP_ParentActorOne_C:DefaultSceneRoot) already exists there.
LogBlueprint: Error: [AssetLog] C:\Users\Hayden\Perforce\UDN_5_2\Content\BlutilityReparent\BP_ChildActor.uasset: [Compiler] Internal Compiler Error: Tried to create a property DefaultSceneRoot in scope BP_ChildActor_C, but another object (ObjectProperty /Game/BlutilityReparent/BP_ParentActorOne.BP_ParentActorOne_C:DefaultSceneRoot) already exists there.
LogBlueprint: Error: [AssetLog] C:\Users\Hayden\Perforce\UDN_5_2\Content\BlutilityReparent\BP_ChildActor.uasset: [Compiler] Internal Compiler Error: Tried to create a property DefaultSceneRoot in scope SKEL_BP_ChildActor_C, but another object (ObjectProperty /Game/BlutilityReparent/BP_ParentActorOne.SKEL_BP_ParentActorOne_C:DefaultSceneRoot) already exists there.
LogBlueprint: Error: [AssetLog] C:\Users\Hayden\Perforce\UDN_5_2\Content\BlutilityReparent\BP_ChildActor.uasset: [Compiler] Internal Compiler Error: Tried to create a property DefaultSceneRoot in scope BP_ChildActor_C, but another object (ObjectProperty /Game/BlutilityReparent/BP_ParentActorOne.BP_ParentActorOne_C:DefaultSceneRoot) already exists there.

 

Steps to Reproduce
  • Create a new blueprint class based on AActor, named ChildActor
  • Create a new blueprint class based on AActor, named NewParentClass
  • Create an Asset Action Utility with one function named Reparent, where Reparent uses the Reparent Blueprint node to change the selected blueprints parent to the class NewParentClass
  • Use this scripted asset action on ChildActor
  • Observe compilation errors

Have Comments or More Details?

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

0
Login to Vote

Fixed
ComponentUE - Gameplay - Blueprint
Affects Versions5.3.2
Target Fix5.5
Fix Commit32560720
Main Commit32565512
CreatedMar 20, 2024
ResolvedMar 27, 2024
UpdatedMar 28, 2024