1 mesh many 6 materials

Can’t find an exact answer on this.

Developing a 2d top down strategy game. The map has 7 layers (land/sea, terrain, roads, rivers, rail, resources, ownership)

Originally I was going to make 7 single hex meshes for the 7 layers and move the UVs for all of them based on input. But I came to realize perhaps I can layer the textures on just on one mesh, set a single set of UVs, and set the images (transparent/cutout/diffuse) so I would have an overlapping layer set that would be in reverse order listed about.

Usually 2d or 2.5s games in Unity draw the maps perhaps as a scene. But in my game the data is read in from a file and they are dozens of maps based on this data. it is not hard coded but they all use the same materials.

The mesh is working for the 1st layer and I can scroll the map shifting UVs based on an array of data. My hope is I can use a single UV shift for all the layers.

Speed is not a concern. Its a turn based game and already the map moves so fast on scrolling I had to put in a delay.

Ok a simple question is this.

Multiple materials one object and only one UV set?

or multiple materials, one object, and multiple UV sets which are one per material?

If the latter how do I access a 2nd material on an object to change its UV?

You still suffering with this problem?
Why are you choosing to offset a mesh UVs to simulate map movement, when you could just move the camera around?

Multiple materials one object and only one UV set?
or multiple materials, one object, and multiple UV sets which are one per material?
Neither of these is a workable solution (assuming that ‘one object’ means only 1 hexagon of 4 triangles)
A single triangle cannot have more than one material drawing it.

I got the map problem fixed. So I am not having a problem. I just want to find out what the best method is to use several overlaying materials.

The map is too large to make it in Unity and have the camera move. The map is as large as 400x400 hexes.

Object Pooling