I’m trying to dynamically create a TextMesh in one of my scripts. I want to use Unity’s standard Arial font and Font Material. However, when I add a TextMesh component via script, all of the material and font references are blank and I must load them in manually. Here’s a really basic example of what I have:
public class MenuElement : MonoBehaviour
{
public TextMesh textMesh;
void Start()
{
textMesh = gameObject.AddComponent<TextMesh> ();
textMesh.anchor = TextAnchor.MiddleCenter;
textMesh.fontSize = 30;
textMesh.characterSize = 0.1f;
textMesh.text = gameObject.name;
}
}
So from what I understand, I also have to initialize the font and its material (via MeshRenderer). This would be fine, but I’m not sure how I can reference Unity’s pre-made materials and fonts. I’m assuming I have to use Resources.Load(), but I believe that only works with my project’s resources. Is there a way to use the same font and material that the standard TextMesh component uses when you spawn it via Component > Create Other > 3D Text? If not, is there a better way of creating Text Mesh’s procedurally?