//[MenuItem("Tools/Regenerate asset GUIDs")] public static void RegenerateGuids() { if (EditorUtility.DisplayDialog("GUIDs regeneration", "You are going to start the process of GUID regeneration. This may have unexpected results. \n\nMAKE A PROJECT BACKUP BEFORE PROCEEDING!", "Regenerate GUIDs", "Cancel")) { try { AssetDatabase.StartAssetEditing(); string path = Path.GetFullPath(".") + Path.DirectorySeparatorChar + "Assets"; path = EditorUtility.OpenFolderPanel("Select Folder To Regenertate guids", path, "Assets"); UnityGuidRegenerator regenerator = new UnityGuidRegenerator(path); regenerator.RegenerateGuids(); } finally { AssetDatabase.StopAssetEditing(); EditorUtility.ClearProgressBar(); AssetDatabase.Refresh(); } } }
public static void RegenerateGuids() { if(EditorSettings.serializationMode != SerializationMode.ForceText) { EditorUtility.DisplayDialog("'Force text' mode needed", "Regenerate all GUID script need asset serialization mode as 'Force Text' mode\n\nEdit -> Project Settings -> Editor -> Asset Serialization", "OK"); return; } if (EditorUtility.DisplayDialog("GUIDs regeneration", "You are going to start the process of GUID regeneration. This may have unexpected results. \n\n MAKE A PROJECT BACKUP BEFORE PROCEEDING!", "Regenerate GUIDs", "Cancel")) { try { AssetDatabase.StartAssetEditing(); string path = Path.GetFullPath(".") + Path.DirectorySeparatorChar + "Assets"; UnityGuidRegenerator regenerator = new UnityGuidRegenerator(path); regenerator.RegenerateGuids(); } finally { AssetDatabase.StopAssetEditing(); EditorUtility.ClearProgressBar(); AssetDatabase.Refresh(); } } }