In 4.25 and below when you paused a game, delays inside a widget were still working. Since 4.26 they are paused and don’t execute any code behind it.
Is this changed on intention or is it a bug? And how can I make it behave as before since my game depends on it.
I have already reported this bug in December and noticed somebody else also reported this bug in actors blueprints recently and it is marked as unresolved. The serious thing about this bug is that the tick still works but the delay does not trigger. I made a sample and when paused widget tick kept trigger and everything after it worked fine but when reached a delay node in the same line stop
I checked the code of the UUserWidget::NativeTick in 4.25 and 4.26 and there is indeed a bug!
In 4.26 they added a Console Var named Widget.UseParallelAnimation that is “true” by default.
When this cvar is true the widget blueprints won’t tick when the game is paused and it looks a bug to me.
So you can bypass this bug by setting this cvar to “false” by changing it using the console (either on the editor, in C++ code or inside a blueprint)
So my solution was to set this CVAR in my Game Instance's Init. You could probably also call this in your Game Mode, or Game State's BeginPlay.
Using Run Console Command.