Download

[SURVEY] There's A Really Really Terrible Bug Where Child Blueprints Get Their Variables Reset

Since the dawn of time, or at least the dawn of UE4, there’s been a bug in UE4 which can be extremely damaging when it occurs, and where it occurs it always occurs again. I’ve seen a million answerhub threads about it but haven’t found one on the forums. Here are some of those answerhub threads:

**https://answers.unrealengine.com/questions/257788/child-blueprints-not-maintaining-values-set-by-eit.html
Child blueprint class variables reset for some reason - UE4 AnswerHub
[Bug] Child blueprint values resetting on editor restart - UE4 AnswerHub
4.11 Child blueprint variables resetting to parent defaults - UE4 AnswerHub
https://answers.unrealengine.com/questions/400807/child-blueprint-reset-to-parent-defaults.html
**

There are more.

A lot of folks have this issue, but Epic have never been able to repro it (somehow?!?!?!). What happens is, one day you restart the editor and some or all of your child blueprints have had their variables reset to the parent’s defaults, so they’re just a clone of the parent blueprint now. Or, your actual child classes keep their overridden variables, but every instance of those child actors placed in any level lose their per-actor overridden variables. E.g, you put a bunch of doors in your level, and set some of them to locked and some to unlocked, but every time you restart the level they’re all unlocked because that was the class default. I guess this might be two separate issues (“actual child classes losing all overridden values and reverting to the parent values” and “instances of child actors in the level reverting to their default values”) but both only seem to happen on child blueprints and happen when the editor restarts.

For me, this issue is so massive that I absolutely won’t be able to ship my game before this is fixed. Unless I just never close the editor or something.

I have created an internet survey, god help me, to help gather more info on this garbage. There’d be more questions (does it only happen on editable variables, for one) but that site wants money for more than 10.

You can help by filling out the survey and posting in here about your experience of this issue! Maybe we can figure something out here since nobody’s been able to on Answerhub since 2014.

Thanks for doing this. I filled it out. It’s happened to me the most while using the AI Toolkit library as well as my own custom weapon classes. In the case of the AI all of the placed actors which were children of the shooter AI character had all their attributes reset. Lost 4 days of work :frowning: For my weapons I had a bunch of custom variables for VR grip related stuff that was reset. Really frustrating and makes me really not trust the Unreal Engine. Aside from that I really love working with Unreal.

Edit: Also wanted to add what is very reliable but I thought was by design or stupid design is if I ever change a default value on the parent blueprint it will reset any overrides on the children whether you wanted it to or not.

Yeah, AI is one of the biggest deals for me too. I override AI relationships (e.g. most guards hate the player, but this guard is friendly), weapon to use, default state (wandering/patrolling/idling/etc), all kinds of stuff, and it all just gets blanked at least once a week. Doors are another classic, just because they’re something you tend to place in levels a lot and usually want to specify stuff on (starts open, etc).

Done Survey, hopefully this will cause them to try a bit harder to solve this bug.
Anyway I was thinking the other day that if they still claim they can’t reproduce the bug or fix it, how about a WORKAROUND for it.
Something along the lines of right click the parent blueprint, choose an option like copy all child variables to text file…( this could be done before shutting down editor)… right click parent blueprint, load all child variables from text file??? (Done after seeing bug)
It would make it a lot easier to rectify the issues caused by the bug and I’m pretty sure unreal could code that into the engine fairly easily. Thoughts?

Happens to me weekly. Usually takes several hours to of rework, regardless of the state of my perforce repo. I now have multiple debug classes that watch for variable changes, and inform me when it happens so I can try and catch it early.

Singularly the most costly and difficult bug I have come across with Unreal.

Yep, happen in my case too, but hierarchy looks this way : native class(with static mesh component, StaticMesh=nullptr) -> BP_BaseClass (static mesh is set to something) -> BP_ChildClass one of 20 classes derived from BP_BaseClass static mesh property is set to nullptr. I tried to debug this thing, but every time when I hit breakpoint in properties deserialization the Visual Studio crashed, then engine decided to do full compilation lol, but i’m 100% sure this thing is broken before PostLoad it seems BP_ChildClass skips parent for some reason and load native class :wink:
I made a temporary fix I simply set BP_ChildClass’s StaticMesh to a duplicated one but this isn’t a long term solution.

AGREE EPIC MUST FIX THIS ****! and this fix should be made for every version of the engine and be pointed at https://www.unrealengine.com/

https://answers.unrealengine.com/questions/574040/child-bp-reset-to-default-old-bug-still-exist.html

This might be interesting for you guys. It seems they are now aware of the issue and it’s fixed in the next version.

Joe +12 Points

Hey Joe! Thanks for this page too. Everyone experiencing this issue, please post any info you think may be helpful for us. I’ve got a report that I’m building around this issue and how long it has gone without a full fix. We’ll be paying attention to this thread and working on how we can get this fixed.

Hi JoeWintergreen and everyone else.

Thank you for creating and contributing to this discussion. We recognize that a number of users experience an issue with child blueprints having their variables get reset, and this is definitely something we hope to identify and resolve. The challenge isn’t a lack of concern in the issue, but rather that Epic has not been able to reproduce the issue (it is usually only possible for an engineer to fix what they can reproduce); and in addition to the numerous Support and QA efforts that have been made in testing this , keep in mind that Epic is also developing numerous projects in-house, and our developers aren’t experiencing this issue either.

With this forum thread I hope that all of you who frequently encounter this issue can collaborate and together identify a reproduction case that is consistent for all. If so, please post a new bug report on the UE4 Answerhub with the necessary details, and our Support staff will promptly investigate.

Thanks all.

Thanks guys. You can track the survey results here: https://www.surveymonkey.com/results/SM-DCC32XNB/

Also wanted to point out that in interpreting the results of the question below, it should probably be kept in mind that I’m pretty sure there’s still a bug where running PIE when there’s a dirty blueprint results in every Blueprint getting recompiled?

Same bug?

Problem:
After setting ‘Default Value’ Actor-References at design time:
Even simple Blueprints non parent / child, lose default values:

Scenario:
References get blanked after Level / Map Save-As is used.
May apply too, if the level is renamed in CB, or just Saved…

Example:
Using ‘Notes’ in levels as placeholders or target locations etc.
Assigned at design time as ‘Default Values’ they get blanked!

Workaround:
Tags -> Get Actors of Class -> Assign variables at Begin Play.
(But this seems overkill / the long way around to address this)

Hey everyone,

I see in the survey that 7 people said they were able to reliably reproduce this issue in a new project. This is what we need in order to dig into this and se what is going on. If anyone could provide the test project they mentioned, it would be mush appreciated.

Either add a download link directly here or PM me a link through the Forums.

Thanks,

TJ

I can’t, personally - migrated my stuff into a new project and couldn’t reproduce anymore, even though it was like clockwork on the real project. Then I deleted the Saved and Intermediate folders from the main project, and now I can’t repro there either… for now.

I was getting this issue several times (can’t say reliably) when creating component inherited from other component and then switching inheritance class. Let me illustrate:
base component class DriveTrain, is inherited to create BasicEngine component. Some of the parent DriveTrain functions are overriden in BasicEngine component.
Later I decide to remove inheritance of the Engine component from DriveTrain component and instead inherit it from a regular Actor/Scene component.
So BasicEngine component now inherits SceneComponent instead of DriveTrain component. Some of the previously overriden parent functions are replaced with an interface and some of the parent variables needed in BasicEngine component are manually added. Lets say variable is called MomentOfInertia and has default value of 10 in DriveTrain component and default value of 5 in BasicEngine. On paper, everything is good so far.

Now we add instance of an actor into the level, that has BasicEngine component in it. This specific instance of BasicEngine component has it’s MomentOfInertia value set to 20. At first it works, but at some point (perhaps after restarting editor) this value of MomentOfInertia is reported as 10 - default value in ex-parent component DriveTrain, which is not even parented anymore…
This made me reconsider using inheritance in BP at all, as it took quite some hours to debug and find source of the issue. I hope this description helps.

I can check if I have still those bugged BPs, as far as I remember, they had to be redone from scratch but broken version where not possible to cleanly delete as they kept reporting dependency to base class.

Deleting intermediate and saved folders also fixed it for me too.

I delete intermediate and saved before any time I open the editor and I still run into blueprints blanking all their default properties fairly often. Its really annoying but became the expectation in recent engine versions.

Thank you for making this thread btw. Answer Hub has become useless in recent months.

Epic’s standard procedure lately seems to be to claim they can’t repro an issue without actually trying. They won’t even acknowledge it unless you make a repro project yourself and send it to them. Them maybe a month or two later they will add it to the issues list.

That is something very rude to say to a company that is literally giving one of the strongest Engine, for free.

And it is unacceptable to make it look like “they don’t care”.

They already mention that none of their own projects have such a problem and it is obvious not everyone has it happening too. Do not expect a bug to be easily fixed when none of their own developers having the issue, and that the bug is fairly random for a few people working on their Engine.

Anyhow, good luck to everyone that having this issue.

It’s the next day and the problem is 100% back. So, deleting intermediate/saved absolutely fixed the issue, but only for a little while (maybe until I used those blueprints again).