I have an editor script that generates text based on a prefab created with SpriteText. My script successfully builds the instances of the SpriteText, but the objects are not updating for the new text string assigned programmatically.
// Executed within OnInspectorGUI var clone : GameObject = EditorUtility.InstantiatePrefab(target.WordPrefab); clone.name = ""+index+"_"+p; clone.transform.parent = words.transform; var spriteText : SpriteText = clone.GetComponentInChildren(typeof(SpriteText)); spriteText.text = p; // assigning new text string // trying to force an update EditorUtility.SetDirty(spriteText); EditorUtility.SetDirty(clone); spriteText.UpdateMesh(); spriteText.SendMessage("Update");
When this code is executed, I get the new prefab instances, but they all appear with the default prefab text, despite that when I look at the inspector for each item they have been assigned the new text correctly. If I manually change the text, it then will finally update, but I can't seem to trigger an update from my editor script. The calls to UpdateMesh() and SendMessage() are simply my feeble attempts, but no luck.
Any ideas to force the script/object to update?