Compiling a blueprint component can cause data loss on instances in the level when the component instance overrides its owning Blueprint's property value overrides back to the component archetype's values. On compilation of the component blueprint, the component instance will revert to the defaults set in the owning actor blueprint rather than keeping the instance overrides.

Steps to Reproduce
  1. create a blueprint actor component COMP_Repro with the following public editable properties
    1. BoolProp = true
    2. IntProp = 7
  2. create a blueprint actor ACTOR_Repro , add a COMP_Repro to it, set the property values in the actor to
    1. BoolProp = false
    2. IntProp = 2
  3. place an ACTOR_Repro in an empty level
  4. on the instance in the level, set the properties to the default values from the Component
    1. BoolProp = true
    2. IntProp = 7
  5. go to the editor window for COMP_Repro and hit compile
  6. See that the values of the properties on the instance in the level have reverted to the defaults from ACTOR_Repro, losing the values we had set

Have Comments or More Details?

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

Login to Vote

ComponentUE - Gameplay - Blueprint
Affects Versions5.0
Target Fix5.1
Fix Commit20034614
Main Commit20034614
CreatedApr 29, 2022
ResolvedMay 3, 2022
UpdatedJun 23, 2022