What DO you use threads for in UE4?

I spend over 8 years researching and creating the server system, which was initial inspired by the Torque MMOWorkshop project, but also a bit by open source projects like PlaneShift/Ryzom.
The server system is not a single server system. It contains a master server, char server, realm server, zone server & zone proxy servers. It’s fully writen in C++ using boost asio, but without any use of shared/smart pointers as they have to poor performance for this. Running on both windows and linux (debian tested only)
The logic inside the realm server makes the game world self scalable by spawning/despawning zones in the different zone servers and have internal sync system, client travel between zone server and coordinates the needed information between zone server & zone proxy servers.

The only thing the server system currently not support is client movement synchronisation. I been experimenting with simulation server, where i can load an exported UE4 heightmap, and using PhysX/CUDA for movement simulation, but it’s so hard to get the movement exactly the same as on the game client and get everything synced smoothly troughout the server system (sim => zone => proxy => client).
But TBH, i don’t really care about movement sync at this moment, priorities are somewhere else. Currently im using point and client movement system, where both server and client move in straight line toward the target point and client does collection detection. In future i should add path finding and some basic collision detection on the server side.
Currently working on the client, where most of the UI is based on UnrealGaimeDev’s youtube channel, but using the server as backend to persist information like inventory, spawn mobs, npc’s, vendors, quest system, crafting system, …
So hopefully in few months i will be able to show something and release a simple game that allow testing the real performance and see the limitations.

Anyway, this is very off topic (altho server has same kind of threading model, where dispatchers/schedulers sync tasks between many threads to avoid having locks)
Hope this answered your question and for those who think i can make full MMO game myself … lol no, i have years of experience in creating high performance server system as professional job and love game dev, but i 1000% suck at creating content, maps, open worlds and/or anything graphic, so without content no game. I just want to make the server system and hopefully be able to make profit some day with it :wink: