UMG changes to user widgets not updating instances

This is an extension to the issue reported in UE-73430.
Still present in 4.26.1

All changes made to a user created widget do not get propagated to that widget’s instances in other widgets. The only way to update the instances are to replace them with the same widget, essentially re-instantiation.

Detail:
As the issue above provides, if we create a widget X (e.g. custom button) and add it to another widget Y’s layout, subsequent changes to X (any property or structural change) will not be reflected in the instance of X within Y. Y will use the original X even in fresh compilations.

This issue does not always present itself on the creation of a new container widget Y. But at some point (the exact reproducible event still eludes me) Y goes corrupt and won’t update any of its contained instances.

If this helps for description… you can have several instances of X within Y, all looking and acting differently simply by changing X and adding another instance to Y. This is not expected behaviour.

I have yet to figure out a way to “refresh” the instances, only replacement.

4 Likes

Can’t believe that bug has been created since 2019 and it’s still active… Extremely flow destructive. 4.26 here too. The annoying thing is having to re-drag drop the widget back in it resets its sizing and anchors and everything and I have to redo all that again…

1 Like

4.26.2 same issue

1 Like

for me the annoying thing is my widget blueprint has 500 panels and counting in it and most are different widgets with their own panels and images and children widgets and almost every single one of them is separated by 2 custom widgets I made for vertical and horizontal split draggable resizable panels, and I regularly have to make changes to the dragbar in the widget used to split up my ui going through one by one destroying my entire layout and rebuilding it

Also now appeared for me the first time in 5 years of unreal development.

Thanks for your request, I have same issue on my side.
Unreal 5

Save everything and reopen the project to update.

Can confirm this is still an issue on 4.26

vERSION 4.26.2

Same here, 4.27.

I wasted a bunch of time I thought I was doing something wrong (?), it would be great to get info on this. Thank you!

4.26.2, Year 2022 and not fixed yet.

I’ve had this issue for I beleve since 2018, and its very very frustrating.
How is this not fixed by now.
The amount of time WASTED by error checking, restarting, fixing, etc. is really unprofessional for such a program used by professionals.

Bump for @epic; this was marked as “Won’t fix” (?) but this is, as mentioned by many people, a pretty fundamental, workflow-breaking issue.

If it’s a complicated fix, I think many of us would be really happy even for a manual “update child instances” command, similar to “fix up redirections” for assets…


Workaround for this issue:
Right click on the BP that has a child widget that is failing to update.
Asset Actions >> Reload

This will reload the Child Widgets inside that asset.

Pain in the butt, but it has so far worked for me 100% of the time.

12 Likes

YES! Thank you @Occult_Softworks, that’s it!

A bit clumsy, but it totally works!

Have the same problem. Reloading the my hud bp crashes the engine. 5.0.2

2 Likes

I also crash when reloading widget bps in 5.0.2

@epic This desperately needs to be fixed and not just the crash. The original bug reported by OP needs to be fixed (UE-73430). This makes UMG unusable. Restarting the editor to be able to see changes to your widgets is unacceptable.

Please reopen the original bug and fix it.

3 Likes

From what I can tell with my experiences on this, once a widget gets corrupt it will no longer update in the HUD where it is added and any changes made to it will not be reflected. I would have to rebuild the entire widget structure and logic to get it to work. The cause of the corruption seems to be the container nodes, I noticed this frequently would happen when I was still trying to figure out how all the different boxes and containers fit together to make the desired layout. When I had added the widget to my HUD and would go back and start messing with the heirarchy problems would occur. Again refreshing the HUD didn’t help in my case as it crashed the engine. Almost like changing the heirarchy in the child widget corrupts the link with the HUD / parent widget and it no longer knows how to read it. Just my 2 cents.

Two common ways I found the widgets to corrupt:

  1. Ctrl-Z to re-add a deleted UWidget from the hierarchy. Silent corruption causes hierarchy deletion and blueprint corruption later.
  2. Add a UWidget from a Construct node and add it to the hierarchy. If the outer is not a UWidget in the hierarchy, but for example the Outer UserWidget, widgets will be added with duplicate names causing editor and hierarchy corruption.

As Occult_Softworks said, widgets not reflecting changes can usually be solved by hitting reload on the asset actions. If this does not work, and one or two properties on a child widget are stuck, load that asset and reset the property manually if possible by clicking “clear”. after that set it to any value. Reload the asset and it should reflect changes. Using the yellow “set to default” icon does not do it for me.

Recently I figured out that there are several very different processes which in their own ways deal with set / duplicate / import actions on a property and only the process which is executed when an editor detail panel property is modified seems to be able to properly pass on changes to all widget objects. Any other process only modified the preview widget and ignored CDO / Archetypes.

1 Like

This bug makes me sad. Pretty please, Epic, take a look into this one. Such a time-consuming, workflow-interrupting hassle, especially when you remember the days when this worked fine :slight_smile:

The Asset Actions > Reload option would be acceptable to me, but, alas, it causes an engine crash for me too.

If anyone finds any other work-arounds, please let me know. I’ll keep looking. Dealing with so many nested widgets at the moment, and this is quite the headache!

1 Like