Child blueprint reset to Parent defaults

Still in 5.1
RightClick->AssetsActions->Reload,also use to Force Reload DataAssets, terrible Bug

Sadly, this still happens in 5.2

1 Like

We can confirm that this stil happens in 5.2. Child actor doesn’t care about instanced values set in the detail window, it resets to a default value once we hit play. The variables are created only in the child blueprint.

If you are using C++ class for your child actor, you have to create blueprint child for your class and then use your BP class instead C++ class it will fix your saving data problem

On an initial testing this (setting “expose on spawn” for the variable on the parent blueprint) appears to have solved my experience with the same issue. currently working in UE 5.3

1 Like

Thanks for the tip! Expose fixed this for me as well. What a horrible bug to exist for this long

Very frustrating issue. Children of my parent bp all got reset. Using a structure in the parent and all info in that structure for the 10-15 child blueprints gets reset every time I open the editor. Setting it to instance editable and expose on spawn in the parent didn’t fix it for me.

This is still an issue and not resolved. I submitted a bug report to Epic. Here is how to reproduce:

  1. Make a new project with the third person kit.
  2. Make a child of the BP_ThirdPersonCharacter.
  3. Make a new actor component, add a TestVar (String) with Instance Editable enabled and make the default value “asdf”.
  4. Add this actor component to the BP_ThirdPersonCharacter parent (not child).
  5. Drop a few of the BP_ThirdPersonCharacter_Child into a level.
  6. Set the value of TestVar differently on each child actor instance’s component in the level.
  7. Now recompile the BP_ThirdPerson_Character_Child a few times and then check the TestVar on each child actor instance in the level. They have been reset to the default value of “asdf”.

That does not seem like expected behavior to me. Maybe I’ve overlooked something here, but it’s unbelievable that this could be in a production ready version of UE and makes me wonder how people are even coding or publishing blueprint-based games at all when common programming paradigms such as loose coupling and inheritance don’t work properly. This is an absolute showstopper.

And these are the paradigms we must use to fix other problematic things like hard refs and circular refs, which always “seem” to be like the source of your problem, but it turns out nope, that wasn’t it and those 10+ hours spent overhauling code didn’t help because it’s actually an engine bug.

It’s like the spiderman meme all pointing at each other, blaming some other part of the code for why it keeps breaking, but these guys should all be pointing at themselves for they are the root of the problem.