Does Roblox use mesh instancing?

Hoping to hear back from a platform engineer in the rendering department, unless anyone knows otherwise… So I’m working on a project in Blender that is estimated (when finished) to be using upwards of 40-60 unique meshes (each being under 250 tris) each mesh being used say, 150 times each in the environment when imported to Roblox, each will have the same exact color as the rest (MeshPart.Color property) and will not have any decals or textures on them. Will the engine instance these meshes? Does instancing reduce the number of drawcalls required to render a frame? Does it help w/ performance any?

As long as you use the same id, they should be instanced.

Not sure if it has any performance effects but it does relieve network stress since it loads once instead of multiple times.

1 Like

Yes, you can load with local Mesh = Instance.new(“Mesh”) and Mesh.MeshId = meshId

You can find all of the information you need here:

https://devforum.roblox.com/t/part-instancing-pre-release-announcement/130333

Addressing some specific questions you had:

  • The color (among other properties) of a MeshPart does not affect whether it will be instanced or not;
  • Meshes that are instanced together are rendered in a single draw call
4 Likes