Modifying C++ Base Class Resets Derived Blueprint's Variables to Default after Editor Compile

resetting the parameters each time is caused lose time to someones who have a huge project like me. i hope this issue will be resolved as soon as possible.

Yes, if you base your code upon C++ and not get the data from anywhere else but store it in blueprints it can be quite a project-killer. Don’t forget to vote for it.

Can we get an update as to whether this is going to get resolved or not? This is causing huge workflow issues for me. Thanks.

Edit: What version of Unreal is not suffering from this bug?

Don’t forget to vote, the issue will be prioritized. Let’s hope that it will be fixed, since yea, it’s a project buster.

I can confirm that I’m seeing this issue too on 4.19. I’ve voted for the issue, but the response of “it may not be prioritized or fixed soon” is disconcerting at best. Using C++ base classes and exposing variable to blueprints is the Epic recommended workflow for development, and having to close the editor for each compilation to prevent the Hot Reload from hard resetting all values on every instance seems a bit more than cumbersome. Frankly, this seems like a major issue.

Yes, it quite major, I’m amazed too that this is not handled. However with the current state at epic (AAA game canceled and such) I’m not sure this is prioritized.

Just for reference, it may be worth following, and adding comments to the official AnswerHUB bug that’s related to the ticket number the Staff Member referenced. It’ll consolidate complaints and responses so that this issue gets the attention it deserves. Here’s the thread:

and the original thread that the reporting user started:

Isn’t this officially followed too?

I’m not sure, I found this thread via a Google search (it happened to be the top hit). However going through the bug report, I was only able to see the issue that I linked above. I could be wrong about this, but that’s what I found in my brief search.

I’m also nervous that I’ll reset my BP parameters by accident one day.
But, for me, I’ve found that closing and reopening the Editor does the trick.

BTW, the steps shown by others in this thread involve compiling in VS, then opening the Editor, but what I do is:

  1. Make changes in C++

  2. Compile IN EDITOR

  3. Close & Reopen Editor

  4. Be happy

I’m not sure if there’s a benefit to compiling from VS instead (I keep it at Development Server setting), but so far this workflow seems to work.

I hope this helps.

p.s. I didn’t mean to add this comment all the way at the top! My apologies!!

Im guessing this is without actually saving the blueprint in editor then after compiling yeah ?

So a simple restart of the editor pretty much resets the values… I guess that actually kind of makes sense.

Still annoying though lol

Yeah, for the love of god DON’T SAVE IN EDITOR AFTER THE COMPILE!!

(that’s what I was referring to when I said I’m afraid I’ll reset it by accident, permanently ^^)

Yea, we already know that workaround. It is kinda stinky especially when developing. We are waiting for a proper workout, since the current workaround (that you already pointed out) really stinks.

For anyone who this is still annoying, after waiting for 3 versions of unreal, I decided to try and track it down myself :slight_smile:

My fix is here: Warning reference will be nullptred bug - Programming & Scripting - Epic Developer Community Forums

Fairly new to unreal, and quite busy so not sure what the right procedure is for getting the fix in - hopefully they monitor those?

Anyway, hopefully that helps people

Thanks for the diligence man! However I’d like it to have a little bit of ‘time stress testing’ like a few weeks before rolling it in. We never know what uncommenting that piece of code might do. Did you encountered any problems till now?

FYI, the fix will make it into the 4.20 release, but the community staffer (Steve Robb) posted Epic’s software fix for us to implement in his answer to resolve the issue on the current version.

Here is his answer:

https://answers.unrealengine.com/questions/716906/warning-reference-will-be-nullptred-bug.html

Still present in 4.21, from what I can tell. I voted for the issue (it is still marked unresolved) although at this point I’m not sure if that will get the job done.

Wouldn’t this be one of the most important things to fix? In essence you can’t develop with C++ in a productive manner. Wasn’t the point of UE4 for everyone to develop in C++ so as to increase productivity? It seems to me hot-reload was developed specifically for this purpose.

I’m also experiencing another issue that might or might not be related. When hot-reloading components created in C++, has anyone experienced every instance of the component class becoming “linked” into one and the same? It would seem they all are the same instance, and some kind of archetypical instance at that. The yellow “revert” arrows disappear and changing one component’s properties changes that property on all components of the same class, as well as the base value of that property on components of that class that are newly created or that have been created after the most recent hot-reload. Saving appears to actually persist this “linkage” across editor sessions.

I have submitted a bug report for my additional issue. It might be related in some way, but it’s hard to tell.

Bug report logged under https://issues.unrealengine.com/issue/UE-67134.

I could not find the issue you have submitted. Maybe it was merged with the existing one?