If a variable is renamed on a blueprint, then any child blueprints will lose their default values for that variable and reset to the parent's default value.

This resetting only happens with the Child's default values. If I place an instance of that child in the world and set different values on just the instance, those stay as expected.

Current outcome when renaming a variable

For BP_Parent with variable "MyFloat", when renamed:

BP_Parent "MyFloat" = 0 -> "MyFloat_Renamed" = 0
BP_Child "MyFloat" = 12 -> "MyFloat_Renamed" = 0 (Value automatically resets to parent's default)

Expected Outcome:

If the parent variable is renamed, the child would get the new name, but keep it's default value.

BP_Parent "MyFloat" = 0 -> "MyFloat_Renamed" = 0
BP_Child "MyFloat" = 12 - > "MyFloat_Renamed" = 12

Steps to Reproduce
  1. Create a blueprint actor with a variable. Compile + Save
  2. Create a child of that blueprint and set a new default value for that variable on the child. Compile + Save
  3. In the Parent Blueprint, rename the variable. Compile.
  4. Now look at the Child Blueprint. It will show the parents default value for the renamed variable, rather than it's own previous default value.


Have Comments or More Details?

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

Login to Vote

ComponentUE - Gameplay - Blueprint
Affects Versions5.05.15.2
Target Fix5.5
CreatedMar 25, 2023
UpdatedMay 3, 2024