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