3D tilemap in with texture atlas in URP: Better to use tiling parameters or different UVs?

I have 3D tiles which are GameObjects and I want to make sure I’m not destroying framerate with draw calls.

  • It seems wasteful for memory to create an entirely different mesh for each identical cube just to change the UVs

  • At the same time, my understanding is that using material property blocks (or different materials) for each tile would prevent the SRP batcher from being able to consolidate batches.

Is there a better way? Which of these approaches will be the most efficient for large worlds made out of 3D game object tiles

I estimate probably around 30,000-50,000 tiles in a scene at the most, with 50-100 different kinds of tiles, all are being mapped onto the same cube model

Have you tried vertex color to map the different textures?

Can you explain more about what you mean by this?

This would still involve creating a new mesh for each tile type, right? So in what way would it be an improvement over UVs?