Description

When reparenting blueprints and both the old and new parent blueprint contain a subobject but with different values on it, the reparented blueprint doesn't correctly inherit values from the new parent.

Specifically: for SCS (SimpleConstructionScript) subobjects the reparented blueprint seems to keep the old subobject values as inherited from the previous parent class, but now marked as modified.

This differs from reparenting behavior for properties directly on the actor class. It also makes for a confusing workflow, since many users expect that an unmodified value remains unmodified - i.e. an inherited value remains inherited. It should be said that opinions on this differ: some users prefer the ability to keep a specific value even if the parent class has the same value, but in either case subobject delta-serialization should be made similar to actor delta-serialization.

Steps to Reproduce

Option 1:

  • Create a blueprint BP_Grandparent and add a StaticMeshComponent in it's blueprint. Leave its StaticMesh value as None.
  • Create a child blueprint BP_Parent from BP_Grandparent and set the StaticMesh to SM_Cube.
  • Create a child blueprint BP_Child first inheriting directly from BP_Grandparent.
  • Observe: BP_Child's StaticMeshComponent has StaticMesh None as expected, inherited from BP_Grandparent.
  • Reparent BP_Child to BP_Parent
  • Observe: BP_Child's StaticMeshComponent still has StaticMesh None and the property shown as modified.
  • Expected: BP_Child's StaticMeshComponent should be SM_Cube inherited from BP_Parent.

 

Option 2:

  • Create an ActorComponent blueprint BP_MyActorComponent and give it a Boolean property 'MyValue'
  • Do the same steps as above but add BP_MyActorComponent to BP_Grandparent.
  • In BP_Parent, set MyValue to true.
  • Observe that BP_Child will have MyValue = false, and after reparenting that's still the case.

Have Comments or More Details?

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

4
Login to Vote

Unresolved
CreatedNov 27, 2024
UpdatedDec 6, 2024
View Jira Issue