I have over a 100 hundred hexagonal tiles on screen. At the moment, they are all clones of the same prefab but I need each one to use a different texture and it’s not an option to actually have them share the same Texture2D and point at different parts of it with different UVs. Each tile really needs to have a different texture.
So at the moment, I get as many draw calls as I have tiles.
Is it possible to batch their rendering into a single draw call or is just not the way things can work ?
Not looked into this sort of thing in unity, but in general the only way a single draw call could draw objects with multiple textures would be if those separate textures were put together into a texture atlas, so they can use the same material. This question and it's answers should help with doing this in unity.
There's really just no way to batch things using distinct and separate textures in one draw call. 3d hardware does not work that way.
:edit: An afterthought, you might be able to compromise between the two with a 3d texture or texture array, but you'll have to search yourself, no idea if this is something unity can easily support, and it might create compatibility issues as I'm not sure if either is well and universally supported by different platforms and graphics cards.