What's the best way to optimise thousands of instances of the same mesh?

Hey all, I have a project which requires as many meshes (only planes or cubes) to be on screen at the same time as possible.

I have tried generating one model using the planes as sub-meshes with some degree of success and was wondering if anyone has any tips as to how I might optimise it further...

I've heard if graphics cards with built-in instancing and also thought about using a single mesh for the whole and storing which verts belog to what part of the model... any thoughts?

if your meshes don't have code you can use Graphics.DrawMesh. if your objects have code attached and you need more control on them, planes are not heavy and you can use many of them. generate as low poly meshes as possible and use low resolution textures as possible.

show about 20 and put a message at the bottom of the screen saying that there are heaps but there invisible