Multiple textures on Voxel mesh?

So I built a marching cubes voxel mesh and I would like to texture it.
The problem, I can set a texture easily with TriPlanar shader but that only works with 1 texture. (or 1 / direction)
However I need to set different texture based on the voxel data.
The first problem that I can’t pass the voxel data to the Surface shader, either I use UV coords or vertex color, it gets interpolated. It would work with 2 texture max but I need 10+

Any idea how to solve it, that the shader can decide ehich texture to use, and the level of the interpolation.

This can get you 4 textures. You need to set triangle color to how much of each texture to have in the position (edit the marching cubes algorithm so you can also pass color array or something similar) and in the shader, add 4 texture fields, and then blend between r, g, b and a values.

But this won’t cut it for you. I have had another idea in my head for quite a while. Divide the mesh color values into more (with less precision) color values. You do this in shader and this way you can easily have 8 or more textures.