EditorUtility.SetDirtystatic function SetDirty (target : Object) : voidDescriptionMarks target object as dirty. Unity internally uses the dirty flag to find out when assets have changed and need to be saved to disk. E.g. if you modify a prefab's MonoBehaviour or ScriptableObject variables, you must tell Unity that the value has changed. Unity builtin components internally call SetDirty whenever a property changes. MonoBehaviour or ScriptableObject don't do this automatically so if you want your value to be saved you need to call SetDirty. // C# Example
// Set Wrapmode of each imported texture to Clamp using UnityEngine; using UnityEditor; using System.Collections; public class TexturePreprocessor : AssetPostprocessor { void OnPostProcessTexture() { TextureImporter textureImporter = assetImporter as TextureImporter; textureImporter.mipmapEnabled = false; string path = textureImporter.assetPath; Object asset = AssetDatabase.LoadAssetAtPath(path, typeof(Texture2D)); Texture2D texture = asset as Texture2D; if (texture != null) { Debug.Log("Texture path: " + path); texture.wrapMode = TextureWrapMode.Clamp; EditorUtility.SetDirty(asset); } else { Debug.Log("error " + path); } } } |
