How to optimise game?

I’m making a fictional place in Roblox that revolves around a big resort. It has a lot of stuff like rooms, restaurants, even a big fountain.

I was wondering how can I optimise the game? I noticed myself that every time when I tried to start a new server it takes at least 11 tries and at one point there could be 87k Instances.
Some people are experiencing lags and I really want to try to tune it down since I want low end device to have access to them at least.

A lot of the properties are either meshes, or parts/ union.

I’m not a builder but from my experience these things can help:

  • Replace models, Replace your meshes and models which contain way to much unnecessary parts/polygons.
  • Union Parts, if there’s a lot of parts in models you could union them. I’m pretty sure that will make them less laggy.
  • Enable StreamingEnabled, if the map is large you can enable streaming enabled to minimize lag as less of the map is loaded at the same time for the player.
  • Offer Graphic settings, Not sure how much this could help, but you could offer a setting option to remove for example textures.

But overall I think replacing laggy models with more optimized ones would be the best option. I also think there’s already a lot of great topics on this with more experienced people in building than myself answering this question.

Reduce part count where you can

You can try to find area’s where there are multiple parts involved.

For this example, takes up 3 parts in order to make a blue streak on a wall, A simple extrusion of the blue part, and a size change on the area behind it, and you'll get this, which uses only 2 parts

By itself you wont see any benefits, so this will have to be a map-wide change in order to see any real benefit.

Be careful when making them extremely thin, as you’ll likely run into Z-fighting issues.

Simplify Collisions

You can use CollisionFidelity on meshes to make their collision simpler. This will make loading faster and prevent the physics solver from calculating a complex shape.

Do this for objects that are less likely to be touched or interacted with by actual players, for stuff like doorways, use a higher priority.
Information Here

Disable Shadows

Disable shadowes where you can, the less shadows, the less the ShadowMap has to go through to apply lighting.

If you have very small objects, you can get away with disabling shadows as its likely a detail nobody would notice. You can also disable it for objects inside buildings, as the exteriors will overshadow them.
Most importantly, do this on detail nobody pays attention to, or would notice such as far away objects or misc details.

Beware of Scripts (non-building related)

Sometimes it may be a scripting issue as opposed to a build issue, make sure (if you know how to code at least) that they are running efficiently as possible, otherwise they will be using more resources than what they are suppose to.


Beware of this, as Roblox’s inplementation of Unions will increase lag as it tends to overdraw on verts on trigs, more so than using actual meshes, so stick to your first bullet for this one.

For any case you might need a Union, Use them sparingly.

1 Like

This is incorrect, as Unions create unnecessary triangles and issues with collision. If you need to use a union, import it to Blender and remove the unnecessary triangles. I would advise OP to remove the unions.

Don’t Roblox’s built in graphics settings do this already?


I would recommend this guide to @B777200exe:

This question has also been asked a lot on the DevForum, so please search the DevForum before making a topic.

I found these in just 30 seconds:

You’re right but perhaps you can make it more customizable with custom settings and offer a more personalized experience. For example Roblox graphic settings lower the render distance which might be annoying.

Also I didn’t know that about unions, thanks! As said I’m not a very experienced builder so sorry for any incorrect statements. I based that off that they appear less laggy and smoother in studio, for example when I union a model that lags when moving around it gets a lot smoother.