Pass vertex data to material shader

Hey, I’m working on a procedural infinite terrain with some noises.
I have 10 different biomes (like desert, plain, mountains, etc…) and each vertex has some biome weights.
For example, the point (X, Y) can be 70% desert and 30% plain.
I use the ProceduralMeshComponent, or RuntimeMeshComponent to generate the meshes.

I was wondering if there was any way to pass these biome weights to my material shader to blend the biome materials according to the biome weight of the point.
For my point (X, Y), I would like it had the desert material blended with the plain material with an alpha of 0.3 (0.3 for the plain material and 0.7 for the desert material).

I’m looking a way to pass a “data array” when I use CreateMeshSection(…) for example, or a workaround like this.
I already tried to use the VertexColor array to do this, but the material interpolates the color of each vertex, so the data is corrupted.
Maybe someone knows how to make a flat color shader (use the color of the first vertex of the triangle to color all the triangle) or any other way to do ?

All suggestions are good to take, thanks !

By using UV channels !