- Home /
Change Font using an Editor Script
Just getting into Editor Scripting!
I need to mass update a set of textmesh fonts,
eg;
var newFont : Font;
GetComponent(TextMesh).font = newFont;
but how do I specify newFont in the editor script? also I need to figure out how to set the Material for that font.
Thanks alot for your help in advance.
Answer by StephanK · Apr 20, 2011 at 01:31 PM
Look at the class scriptableWizard and the example in the docs. This is what you need.
Answer by captnemo · Apr 23, 2011 at 01:19 PM
Thanks spree, legend! Heres what I learned in case it helps someone else, save it into Assets/Editor/WizardChangeFont.cs then find it under the GameObject Menu.
using UnityEngine; using UnityEditor;
class WizardChangeFont : ScriptableWizard { public Font daFont; public Material daMaterial;
[MenuItem ("GameObject/Change Font")]
static void CreateWizard () {
ScriptableWizard.DisplayWizard<WizardChangeFont>("Change Font","Apply");
}
void OnWizardCreate () {
foreach (Object obj in Selection.objects) {
if (obj is GameObject) {
// Check which component you want to work on (in this case: Transform)
TextMesh objectio = ((GameObject)obj).GetComponent<TextMesh>();
if (objectio != null) {
// do whatever you like to do ;-)
objectio.font = daFont;
}
// Check which component you want to work on (in this case: Transform)
Renderer objectrio = ((GameObject)obj).GetComponent<Renderer>();
if (objectrio != null) {
objectrio.material = daMaterial;
}
}
}
}
void OnWizardUpdate () {
helpString = "Please set the font!";
}
}
Your answer
Follow this Question
Related Questions
Is there a way to measure the pixel with/height of a string with a given font? 2 Answers
How to find a font via script? 2 Answers
Access to Custom Font Asset in Editor Scripts, no Custom Font Class? 1 Answer
How do I make copies of my Font with an editor script? 2 Answers
Building custom Font with script, can not change CharacterInfo 1 Answer