void SpawnTexts() { Material textMaterial = null; // Spawn 50 objects for (int k = 0; k < 50; k++) { int tileIndex = Random.Range(0, hexa.tiles.Length); GameObject obj = new GameObject(tileIndex.ToString()); // Text TextMesh tm = obj.AddComponent <TextMesh> (); tm.text = obj.name; tm.alignment = TextAlignment.Center; tm.anchor = TextAnchor.MiddleCenter; tm.fontSize = 60; // make font big so we reduce it with a small scale. It looks better. // Changes the material and shader of the text mesh Renderer renderer = obj.GetComponent <Renderer> (); if (textMaterial == null) { textMaterial = renderer.material; // retrieves an instanced copy of the current material so we can modify it freely textMaterial.shader = Shader.Find("Hexasphere/Text"); textMaterial.color = Color.red; } renderer.sharedMaterial = textMaterial; float scaleFactor = 0.6f; hexa.ParentAndAlignToTile(obj, tileIndex, 0, false, true, scaleFactor); } }