I have a Widget that is owned by the Player Controller, and when we pause the game (with PlayerController->SetPause(true)
) it causes a few issues with the HUD. For example, there’s a list widget that is supposed to scroll to the bottom when new items appear in the list (which can happen while the game is paused) but the scrolling doesn’t work. It seems like the failure to scroll is a side effect of the game being paused as this doesn’t happen when the game is running normally.
The HUD is created with CreateWidget<UGameHud>(LocalPlayerController, GameHudClass);
I’m not sure how to work around this. As an experiment, I added a call to LocalPlayerController->SetTickableWhenPaused(true);
, in hopes that the HUD would still update, but that didn’t work. (What I expected was that the HUD and the player would still move even when paused, but what I got was that nothing seemed to change.)
I’m not sure what the correct thing to do here is. It looks like Widgets can also be owned by the World, so I toyed with the idea of creating a second world just for the HUD and having it remain unpaused when the game world is paused, but I had issues getting it to render and I’m not sure that that’s the right path to go down anyway.