I often re-use UMG widget instances many times, hiding and showing them as needed, and setting up their contents before I show them. e.g. I have a pool of item display widgets that have icons, text etc. and I call something like:
// NextAvailableWidget is currently Collapsed, has an old icon on it.
NextAvailableWidget->Icon->SetBrushFromTexture( Icon );
NextAvailableWidget->SetVisibility( ESlateVisibility::Visible );
However the previous state of the widget is shown for 1 frame when it is revealed.
How do other people get round this? Is there a way to force a “redraw” without showing the widget?