What do you all find is the best way to load maps in game?

I’m currently working on a project, and I want to know what everyone’s best practices are where loading maps are concerned.

There is obviously, cloning the map at once, but that does cause lag and I want to make my project as smooth as possible.

I’m also aware of using a for-loop, but that generally tends to cause lag with 1.5k parts in each map, there is a possibility of chunk-loading?

What do you guys generally tend to use, if any map loading techniques?

Thanks.

Poly battle loads by chunks, I suggest loading in part such as tree,terrain,road,detain n stuff and also use streaming enabled as a big map can get laggy

I use a custom plugin that loops and create a part get all part inside it parent it to the model with loop n in both x and z axis though in the real game i load full map because i only have 1 map but the looping is for , essentially Streaming enabled lod but you could use that to create lots of small chunk and parent it to workspace

Loading maps causes lag so maybe i would just teleport players to another map that is already in workspace

If they had lots of map then that would be a problem as floating point problem start to arise, but it would be long before that,also if you are to use his method turn on streaming as when theres lots of part it can cause loading time to prolong, up to 2 minute in my very old game with alot of terrain waters

The interesting thing for me was, the map isn’t gigantic but has around 1.5k parts, these are mostly consisting of MeshParts. The query I’ve been having is whether I should leave all of the maps on the game, and just teleport players when that map is selected, or load the maps from ServerStorage.

leave in the game if possible if the loading taks long turn on streaming enabled

I would rule out cloning out map children almost immediately because those methods don’t at all seem favourable for a use case involving maps whatsoever. Even if you need to explicitly handle objects, cloning the entire map is far more “efficient” and manageable.

If you need the map to replicate to the client and allow it’s assets to be readily available (as in you care about aesthetic), then you’re probably looking for ReplicatedStorage. If the map only needs to be accessible by the server (in terms of handling) and how instantly the client downloads associated assets doesn’t matter, then place it in ServerStorage (network traffic is also reduced this way).

Personally, I don’t parent in and out of a storage service, even if it’s just a one-time thing. If I’m going to add a map, then I’d like it to be the absolute freshest and pristine it can be. If any part of the map is modifiable, parenting in and out of services is not going to fair out well for you. Even then; parenting a clone of a map and parenting between services has a negligible time difference, so it’s up to preference at that point.

For anyone with any level of interest here. I ended up utilising StreamingEnabled and having the maps in-game already, and having the ClientPhysicsPause option enabled, and then when TPing players over to the map, Preloading the map chunk using the detail provided in Hub.

Hope this helps anyone in future.