What DO you use threads for in UE4?

You get the benefit of offloading work this way to any number of separate threads/processes, but without the hassle of forcing Unreal to be thread safe.

  • run a dedicated world simulation in a separate process/thread/physical machine
  • connect to process via some messaging service
  • read and dispatch messages from the world simulation during GameMode.Tick()

Depending on how much work you push to the backend, your Unreal client can become just a dumb “UI” that doesn’t do much logic.