Vertex limit?

I’ve heard that there is a 60000-vertices limit when importing assets into unity. Is this true? If yes, what are the possible ways of importing high poly models into my scene?

I was hoping to model a train (with interior) in Blender then import it into Unity, but obviously the model would have >60000 vertices when I finish modeling.

65,534. For high-poly models, break them up into more than one part. A train should have cars as separate models anyway. I doubt a train car would have anywhere near 65K vertices, even with the interior; normal maps would take care of fine detail.

The vertex limit is 64k (65534 instead of 65536 according to Eric ;)) but the limit is only valid for one Mesh object. If your imported model has subobjects (each of course below 64k) that’s no problem. You should do your test imports to see how the model gets imported into Unity. A model can have sub objects with its own MeshFilter & MeshRenderer.

At the moment there’s no way around that since Unity only uses 16 bit indices (2^16 == 65536), so the index buffer can’t address more vertices than that. Maybe in a future update they implement 32 bit index buffers, but don’t expect it any time soon. The last years nothing has changed :wink:

Eric is partially right,

many cards (NOT ALL) have a hardware limit of 65534 vertices, if you send more vertices those cards have to do some extra work at driver level (maybe just because the driver API, will it be GL or DX mandates a limit of 65536 and so a program can’t just crash for 2 extra vertices).

Is better one drawcall of 65535 vertices than 2 drawcalls of 65534 and 3 vertices (Someone claims to have profiled it!)

Of course is even better a mesh with 1 less triangle and therefore 1 less vertex so 65534.

Anyway 65.000 vertices is hard limit to hit, if you have so many vertices there’s something wrong with your assets pipeline, we nowadays have tessellation and bumpmaps for that.