Common UI Plugin Widget Blueprints losing parent class and becoming corrupted

Okay, I spent a good bit of today trying to reproduce this issue, and learned some things. This is really hard to test because it fails invisibly, but you can check if you’re in a good state by attempting to package your project. If the build fails, you know you’re hosed. I actually narrowed it down to a fairly specific step for me by making changes slowly and packaging between.

In my case I can trigger the issue by having my Game Instance blueprint contain ANY reference to a class that calls Create Widget if the widget in question derives from a CommonUI class. For example, if I create a new actor BP, and put this in the event graph:

The widget I’m trying to create here is based on CommonActivatableWidget, and now this actor is radioactive. If I simply create a variable in my GameInstance BP that is an object reference of this actor? Packaging fails, project is screwed up if I save and reopen. Any reference will do, including casting to the offending actor, or referencing another class that references this actor.

Why is my GameInstance uniquely screwed up by this? I’m not sure. Maybe other classes are too, but I tried having other actors, my game mode, and a few others reference Create Widget and it’s totally fine.

I’m not 100% sure this is the only way this problem can emerge, but at least I’ve isolated a repro in my project.

1 Like