How would you architect world streaming for a large open-world game?
What the interviewer wants to hear
- Divide the world into cells or chunks and load by distance and direction
- Asynchronous loading with priorities and memory budgets
- LOD and HLOD for distant content; low-detail proxies
- Avoid main-thread spikes by time-slicing activation and initialisation
- Persistent state for changed objects, and floating origin for precision
- Engine tools: Unreal World Partition, Unity Addressables or scene streaming
Model answer
I split the world into a grid of cells, each with its own assets and actors, and load cells within a radius of the player, with extra priority in the direction of travel and for fast vehicles. Loading is asynchronous with a priority queue and strict memory budgets per category, and unloading is just as important. Distant areas use hierarchical LOD proxies so the skyline is visible without loading full cells. The hard part is avoiding hitches, so activating loaded objects, running their setup code and adding physics is time-sliced over several frames. Objects the player changed, like opened chests, save their state in a persistent layer so cells can unload and reload correctly. For huge worlds I use origin rebasing to keep float precision. In Unreal I would build on World Partition and data layers; in Unity, Addressables and additive scenes.
Can you answer it under time pressure?
Take a timed hard round and get scored on every answer.
More hard Game Developer questions
- How would you design the networking for a fast-paced online multiplayer shooter?
- Design a flexible ability and buff system for an RPG with hundreds of skills.
- How do you manage memory in a large game that ships on consoles with fixed memory?
- Explain how a modern real-time rendering pipeline draws a frame, and where the common performance costs are.
- How would you reduce cheating in an online game?
- The game averages 60 FPS but players complain about hitches every few seconds. How do you find and fix them?
- How would you build a replay system that lets players rewatch a match, and what makes it hard?
- How do you use multiple CPU cores in a game without race conditions and with real speed-ups?
- How would you design the backend for an online game with matchmaking and dedicated servers?