When an instanced UObject property is added to a custom code Component class, changing the value of the property in a Blueprint that includes the custom Component only lasts until the Editor is closed. When the project is opened again in the Editor, the value of the property has reverted back to its default value.

This only happens if a default subobject is created for the instanced object property in the custom code Component class' constructor.

Steps to Reproduce
  1. Download the attached project (created in Main at CL 4670176).
  2. Associate the project with your version of Main.
  3. Build the project in Visual Studio.
  4. Open the project in the Editor.
  5. Open the BP_Actor Blueprint.
  6. Select the MyActor component.
  7. In the Details panel, change the Instanced Object Rep property from "My Instanced Object" to "BP Instanced Object."
  8. Compile and save the Blueprint.
  9. Close the Editor.
  10. Open the project in the Editor again.
  11. Open the BP_Actor Blueprint.
  12. Select the MyActor component.

The Instanced Object Rep property has reverted back to "My Instanced Object."

The Instanced Object Rep property is still set to "BP Instanced Object."

Do not create a default subobject for the instanced object property.

Have Comments or More Details?

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

Login to Vote

Won't Fix
ComponentGameplay - Blueprint
Affects Versions4.
CreatedDec 26, 2018
ResolvedAug 18, 2021
UpdatedAug 18, 2021