[4.15] Unreal umg reinst - but not circular dependency

Hi,

I have a weird problem which is very similar to something other people had too, but I don’t think it is cause of the same issue - or I fail to see how that could be.

Let’s say that I have three blueprint widget: Root, Container, Item.
Normally Root would contain a Container, and the Container contains more Items.
Each time the editor is restarted the Container in Root becomes invalid (“Reinst”).

For other folks it was cause of circular dependency between widgets. In my case Item has no reference to Container nor to Root, and Container has no reference to Root.
If I add an Item to Root it won’t be invalid. But as soon as I place an “Item” to another widget, and I add that widget to “Root”, it will be invalid no matter what.

My C++ side knows nothing about widgets at all - communication happens two ways:

  • UI widget calls C++ function to gather data
  • C++ function fires a delegate, widget is subscribed

There is a specific actorcomponent C++ file - if I remove this totally from both Container and Item, the “Reinst” won’t happen. But Item has to subscribe to a delegate from this component, so I can’t just remove it.

Does anyone have any idea what can cause the issue / how could I find out more / how can this be avoided?