17 public static class ResaveUtility {
19 [MenuItem(
"Assets/Save All Scenes And Assets")]
20 public static void SaveAllScenesAndAssets() {
25 public static void SaveAllScenes() {
26 EditorSceneManager.SaveCurrentModifiedScenesIfUserWantsTo();
28 var paths = AssetDatabase.FindAssets(
"t:Scene").
30 Select(guid => AssetDatabase.GUIDToAssetPath(guid)).
34 for (
int i = 0; i < paths.Count; i++) {
35 var scenePath = paths[i];
37 if (EditorUtility.DisplayCancelableProgressBar(
"Saving Scenes",
"Saving " + Path.GetFileNameWithoutExtension(scenePath), i / (
float)paths.Count)) {
41 var scene = EditorSceneManager.OpenScene(scenePath, OpenSceneMode.Single);
42 EditorSceneManager.SaveScene(scene);
45 EditorUtility.ClearProgressBar();
49 public static void SaveAllAssets() {
50 var paths = AssetDatabase.FindAssets(
"t:ScriptableObject").
52 Concat(AssetDatabase.FindAssets(
"t:GameObject").
54 Select(guid => AssetDatabase.GUIDToAssetPath(guid)).
58 for (
int i = 0; i < paths.Count; i++) {
59 var assetPath = paths[i];
61 if (EditorUtility.DisplayCancelableProgressBar(
"Saving Assets",
"Saving " + Path.GetFileNameWithoutExtension(assetPath), i / (
float)paths.Count)) {
65 var obj = AssetDatabase.LoadAssetAtPath<
Object>(assetPath);
66 EditorUtility.SetDirty(obj);
69 AssetDatabase.SaveAssets();
70 EditorUtility.ClearProgressBar();