Description

When a TInstancedStruct contains a UObject marked with EditInlineNew and DefaultToInstanced, the reference is lost after compiling the Blueprint but only when the struct is part of a native Actor class.

The issue does not occur when the same struct is used inside an ActorComponent that is added to the Blueprint in the editor. In that case, the reference to the instanced UObject is preserved correctly across recompilation.

This issue occurs in UE 5.4 through 5.6 (launcher builds) and also in a source build from Main at CL 43801126.

Attached repro project works in UE 5.5 and contains a BP_TestActor derived from a native actor class which declares the code shared by the licensee in the case link.

Steps to Reproduce

1. Open the attached repro project
2. Open the BP_TestActor blueprint
3. In the Class Defaults details panel, locate the following fields:

  • NormalStruct (regular FStructData)
  • InstancedStruct (TInstancedStruct<FStructData>)
    4. For both, assign "Instanced Data" to the Data field.
    5. Compile the blueprint.
    6. Observe:
  • NormalStruct retains its value.
  • InstancedStruct Data is reset to None.
    7. Now, in the same BP, click the "MyTest" component via the Components panel.
    8. Locate the component's NormalStruct and InstancedStruct properties.
    9. Assign the same "Instanced Data" object to both.
    10. Compile the BP again.
    11. Observe both values on the component are preserved correctly after compilation.

Have Comments or More Details?

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

0
Login to Vote

Unresolved
ComponentUE - Foundation
Affects Versions5.45.55.65.7
CreatedJun 25, 2025
UpdatedJul 17, 2025
View Jira Issue