Moving players from separate levels into the same level.

My game has up to 32 players. Each player starts in their own private environment. After 2 minutes the player is moved to a small area with one other player at random. After another 2 minutes they are all separated and moved back to their private environments.

What’s the best way to go about this?

Option 1 - Have one big level with 32 separate private areas and 16 smaller areas and adjust the net culling so each client only processes their current environment.

Option 2 - Load 32 separate levels (one for each player), and after the 2 minutes pair the players together and load 16 more levels (one for each pair).

Which is more efficient? Personally, one big level with proper net-culling sounds a LOT more simple. No recreating characters, no blueprints being reset, server just moves 32 characters as opposed to loading 32 separate levels all at the same time, etc.

Hey there @Fairchild1! Option 1 is easily the most efficient and cleanest for loading as well. Like you had guessed, using the net-relevancy and distance between the sub-islands is how I’d do it. Effectively you can even reuse the islands in a pattern so it’s easier to manage.


Thank you! One question though,

if I want the players to have the option to host non-dedicated server games for smaller groups, is there a way to adjust the relevancy so it functions similarly for the server player?

I know the server “owns” most everything so it’s never going to be the same, but what can be done about it? I assume cull distance volumes enveloping each island is a start?

Ahhh that’s actually a good question, for a non-dedicated approach the listen server owner is indeed going to see through everything! Personally hadn’t thought of that scenario, since in my project the players can’t see out of their islands regardless. Cull distance is one way to go about it since you can’t use ownership visibility here.