When an object whose class has the EditInlineNew specifier is added to an instanced property, any children of the blueprint will have a reference to the same object that was created for the instanced property. This ends up causing issues related to setting values on the object as it affects the parent even if the changes are made in the child.

This can be resolved after creation by saving and reloading the project

This could be related to [Link Removed]

Regression?: No
This also occurs in 4.17.2

Steps to Reproduce
  1. Download the attached project, generate project files, compile, and open the project
  2. Create a new Blueprint of the "PropertiesTest" class and name it Parent
  3. Right-click on the Parent class and create a child of it, called Child
  4. Open Parent and Child
  5. In Parent: Click the dropdown beside "Test Instanced Object" in the Details panel and select "My Properties Test Sub Object"
  6. Expand the fields to see the 3 variables in both the Parent and the Child, Foo Bar and Baz.
  7. In Parent: Set Foo to 4
  8. In Child: Set Bar to 6
    Result: The Foo variable in Child has a Reset to Default button available and the Bar variable in Parent has been changed to 6.
    Expected: The Foo variable in Child does not have a Reset to Default button as it already matches the Parent and the Bar variable in the Parent stays at 2 as it does not inherit its value from the Child.

Have Comments or More Details?

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

Login to Vote

ComponentUE - Gameplay - Blueprint
Affects Versions4.174.184.19
Target Fix4.26.2
Fix Commit15588388
CreatedNov 29, 2017
ResolvedMar 10, 2021
UpdatedApr 28, 2021