static void OnPostprocessAllAssets(string[] imported, string[] deleted, string[] moved, string[] movedFrom) { List<string> changed = new List<string>(); changed.AddRange(imported); changed.AddRange(deleted); changed.AddRange(moved); changed.AddRange(movedFrom); TextureAtlasInfo[] atlases = GameObject.FindObjectsOfTypeIncludingAssets(typeof(TextureAtlasInfo)) as TextureAtlasInfo[]; foreach(TextureAtlasInfo tai in atlases) { if(tai.Overlaps(changed)) { Debug.Log("Updating atlas for: " + tai.srcDirectory); AtlasGenerator ag = new AtlasGenerator(); ag.Regenerate(tai); ag.RefreshDependentObjects(tai); } } }