Game freezes when window is being moved or resized in packaged build

The entire game stops ticking while being dragged around or resized in the windows operating system. I have an app that must continue to send data even if you are moving or resizing it and am finding that it is prone to interruptions if users move it around or resize it. Move/resize happens a lot more frequently than you’d expect.

Is there any way I can tell the engine to always tick even during move/resize of the entire game window?

Steps to Reproduce

  • Create a project that updates a visible element in the Tick of the game loop (can be anything… maybe rotate an actor over time or something)
  • Create a packaged build for windows
  • Run the game
  • While the game is running, move the window by dragging the top of the game window or resize the window and observe that all Tick() calls stop during a drag or resize

I am looking for a way to make the application continue to Tick and run while the window is moved/resized

Hey Zachary,

this behaviour is unfortunately a current limitation on how the event handling (at least on windows) works.

UE won’t get any messages while a window is dragged and resized and our event loop will hang during that time.

Could you explain a bit more on the requirements for the data you’re sending?

For any realtime requirements you should avoid relying on the game thread, since it might also a hang in certain other situation like synchronously loading assets, level loading and similar.

A background thread or async task would be a good option in that case to make sure you’re network code or external connection is responsive regardless of the specific things happening on the game thread.

Kind Regards,

Sebastian