This would significantly reduce performance overhead for rendering multiple instances of the same mesh Constructor: local eInstancedStaticMesh = InstancedStaticMesh(location, rotation, mesh, start_cull, end_cull) API: InstancedStaticMesh:SetMesh(sMeshAsset) InstancedStaticMesh:SetCullDistances(nStartCull, nEndCull) local iInstanceIndex = InstancedStaticMesh:AddInstance(tTransform, bWorldSpace?) InstancedStaticMesh:RemoveInstance(iInstanceIndex) local iInstanceCount = InstancedStaticMesh:GetInstanceCount() InstancedStaticMesh:UpdateInstanceTransform(iInstanceIndex, tTransform, bWorldSpace?) local tTransform = InstancedStaticMesh:GetInstanceTransform(iInstanceIndex) A useful addition could be a function that batches instance updates and sends the remote event only once, rather than on every single update