The tl;dr is You create a Matrix4x4[] with all the transforms. You set it in a for loop like: myMatrices.SetTRS(calculatedPositionToUse, Quaternion.identity, Vector3.one); And then call somewhere once per frame Graphics.DrawMeshInstanced(myMesh, 0, myMaterial, myMatrices); And that should get you started
It's not a particularly important limit, it's trivial to have multiple sets of 1024. If you're trying to bypass anything, you should instead spend that extra work on DrawMeshInstancedIndirect And that's where you draw millions without overhead.
On the toppic of, Does anyone know how to instance mesh with CommandBuffer.DrawMeshInstanced and make it look the same as Graphics.DrawMeshInstanced? With command buffer either lights or shadows doesn't look the same; Graphics.DrawMeshInstanced works, but it has more overhead.