Our game has a world size around 12kx12k it is a large map which is 90% water, less than 700 parts, and around 2.4 million voxels, no loops that run constantly.
The issue is the game takes forever to load and sometimes even crashes Roblox, once the game loads however there are no performance issues, no lag, no frame rate issue etc.
No free models have been used so there are no viruses or other items that are causing harm as far as we know.
If you haven’t already, I would suggest having Streaming Enabled. It’s great for optimizing games with a lot of terrain and it may help your load times.
You can probably set up a macro or something to do it for you, just ctrl h after click on a local script and search for FindFirstChild and replace with WaitForChild
Also, try out this list and see what you could apply on your game with it:
Actually on second thought I do not believe any of our LocalScripts try getting any items from workspace only ServerScripts handle that, so this may not be an issue.
Alright so the game still works properly with streaming enabled without havng to modify LocalScripts because the scripts were pretty much coded perfectly for streaming enabled. The only downside to this is you see parts of the world missing and the player falls through the map when spawning in sometimes, but these are things we can work around.
If you set the StreamingPauseMode to ‘ClientPhysicsPause’, Roblox will pause the player from loading into the world until enough of the world has loaded.