Font Material Dimmed

I just started a new project, imported a font (one that I use all the time), created a 3D Text object, and set it to that font. But when I went to change the color of the text, the font material is dimmed and won’t let me set/change anything. Can’t change the shader or the color. I imported a second, different font, and the same thing. I could only change the color of the text if I used the built-in, default font.

I’ve pretty much only used Unity iPhone till now, and never had this problem with 3D Text fonts. Is there something different about the way non-iPhone Unity handles fonts? Is there a way to use an imported font and make it a color other than white?

I’ve found a workaround, but there must be a better way to do this. I can change the font’s material color in a script, so if I do it on Start at least it looks OK at runtime. But why would the font’s color be accessible from a script but not from the editor? Makes it difficult to accurately position white text on a white background.

You can’t change the auto-generated material, but you can just make a new material and use that.

When you change a material’s property in a script, it makes a new scene instance material for you if necessary.

–Eric

How do you make a new font material? I thought that was generated when you import a font. And it won’t let me duplicate the auto-generated material. According to Unity Reference, you can import a font and change the color of its material. I’ve done it in iPhone projects, no problem. I’ve never seen the font material settings dimmed before.

But an even bigger problem I just discovered is that the 3D Text object renders in front of everything. If I put it in front of another object, then rotate the camera around behind, you can still see the text “through” the other object.

Create → Material, then drag the font texture on it and use an appropriate shader (like GUI/Text Shader).

I think that changed in Unity 2.5.

http://www.unifycommunity.com/wiki/index.php?title=3DText

–Eric

Thanks. That 3D Text shader did the trick, as did creating the new material.