public static DictionarySet Create(string path, params string[] pages) { AssetUtil.CreateAssetDirectory(Path.GetDirectoryName(path)); AssetUtil.DeleteAsset(path); var instance = ScriptableObject.CreateInstance <DictionarySet>(); AssetDatabase.CreateAsset(instance, path); instance._pageNumbers = new string[pages.Length]; var items = new List <LocalizedDictionary>(); for (var i = 0; i < pages.Length; ++i) { var item = ScriptableObject.CreateInstance <LocalizedDictionary>(); item.name = pages[i]; items.Add(item); instance._pageNumbers[i] = pages[i]; AssetDatabase.AddObjectToAsset(item, path); } instance._dictionaries = items.ToArray(); AssetDatabase.ImportAsset(path); return(instance); }