надо переписать вот это блок
uvs.Add(new Vector2(0, 0)); // нижний левый
uvs.Add(new Vector2(0, 1)); // верхний левый
uvs.Add(new Vector2(1, 0)); // нижний правый
uvs.Add(new Vector2(1, 1)); // верхний правый
1 meshrenderer это 1 материал
смысл в том что б тектура имела все материла
ну делаешь материал 2х2 потом передашь id материала и допустим если 1 мариал то
uvs.Add(new Vector2(0, 0)); // нижний левый
uvs.Add(new Vector2(0, 0.5)); // верхний левый
uvs.Add(new Vector2(0.5, 0)); // нижний правый
uvs.Add(new Vector2(0.5, 0.5)); // верхний правый
если материал 4
uvs.Add(new Vector2(0.5, 0.5)); // нижний левый
uvs.Add(new Vector2(0.5, 1)); // верхний левый
uvs.Add(new Vector2(1, 0.5)); // нижний правый
uvs.Add(new Vector2(1, 1)); // верхний правый
материал ну как чекер и каждая клетка это другой материал надо будет добавить офсет что бы при тайлинге не было видно швов