Losing instance data on blueprint class

I have a LevelController blueprint class – actually a LevelControllerBase class and per-level LevelXXController which inherits from the base class.

Sometimes (not all the time) when I make a simple change to the base class, such as adding a delay node or something equally trivial, ALL of the instances of the LevelXXControllers lose all of the detail data. To be clear, I did not TOUCH any of the variable definitions that populate the detail panel.

This is a huge problem since we have 100 of these objects in our game. UE4 is a great engine, but randomly and inexplicably erasing 1000 per-instance data fields is unacceptable.

I cannot figure out a specific repro, since I can change the base controller in many ways without triggering the bug, then, randomly, an extremely minor change will trigger this. It has happened 3 times now in the span of a month.

Please tell me this is at least a known issue that will be fixed.

You may be interested in this conversation - https://twitter.com/joatski/status/847569061567508481

personally I gave up on complex OO with my blueprints, I had to redo changes so many times. Now I do a data driven composition model, I.e. i have data tables that tell my objects how to assemble themselves.

Thanks, that convo does seem to be the same issue. I’m not sure I can go the data-composition route. The OO design is to allow each sublevel to enact custom behavior responses to common events. Since the whole point is to allow special-cases, it would be difficult to drive it all through data.

However, there are a number of common fields (level name, description, etc), that might work to data-drive in that manner. At least it would result in fewer fields being reset when this bug occurs.

Hello ,

I was unable to reproduce your issue. As mentioned in the Twitter conversation that was linked, this is not something we have been able to reproduce consistently. For me to investigate further I will need a stable repro case of your issue.

This is definitely not resolved. Just because I can’t give a solid repro doesn’t mean it’s not an issue. Having all my data erased a couple times a week is not acceptable.

It is inconsistent enough that I would even suspect a race condition or memory stomp… which means you’ll never get a solid repro. If you only address bugs with 100% repros, you’re going to end up with a very buggy engine.

We do aim to address as many issues as possible; however, without a solid reproduction case, we cannot isolate the cause of the issue to implement a safeguard or fix. We will continue to investigate this issue on our end. Please let us know if you get a more definite repro case for this issue.

Thanks!

For anyone seeing this thread, here are a couple more useful links:

This has apparently been a problem since before 4.11 and is affecting many users.

This is still happening to me MULTIPLE times per day. I have a LevelControllerBase class and Several level-specific child classes. It seems that, sometimes, when I change the base class, the instance parameters for SOME of the children get reset. My changes to the base class are NOT related to the parameters being reset. I have not found a reliable repro – this issue is inconsistent, but FREQUENT.