How should I optimize 1v1 arenas?

I’m making a 1v1 system for a game with 10-player servers, so my current plan is to have 5 copied arenas for each two players. I have multiple, highly-detailed maps, which I also need to make 5 of, so I feel like having 15+ large maps would make the game take a VERY long time to load and hurt performance, as I’ve already noticed that with 5 copied maps, the game takes a long time to load in studio. Is there any method to make this more efficient, like only loading one map for two clients when a 1v1 is initiated? Would StreamingEnabled be a good option for this? Thanks in advance.

perhaps you put the maps in serverstorage and clone them when needed?

Wouldn’t that cause the whole game to lag whenever a map is loaded?

I think it wouldn’t lag as bad as having multiple maps already loaded. It would probably take 1-10 seconds max.

You could have a loading gui that last a few seconds, so they can’t notice the lag and to make sure the map has loaded for them. Additionally you could create the maps locally so that each player will only load one map. Assuming they don’t have any interaction with the other players/arenas.

You can load the maps on the client instead of handling it on the server. By telling only the players in a specific arena to load a map, it reduces the render time quite a bit on other clients.

It is still a good idea to create hitboxes outside of the maps if you plan on doing this.

You’re right; Would firing a remote event to both players to load a map from replicatedstorage when the 1v1 is initiated and having every map load when the player joins be efficient?

For graphics, yes. Anything that the server needs (such as hitboxes) should still be loaded by the server. I would take the maps and grab any essential things (such as walls, floors, anything to interact with, etc.) and make them invisible. This model will be the hitbox model, and will be used by the server. The entire graphical map would then be CanCollide false, relying on the hitbox model for any collision checks. This is the most efficient way I can think of as of now without relying on universes.