private static void checkPrefab(string path, SaveablePrefabRoot saveablePrefab, bool onlyValidateCurrentlyUnchecked = true) { string relativePrefabPath = path; ///only move the prefab when its not already located in a "Resources" folder if (!saveablePrefab.GetReferencer().WasAlreadyValidated || !onlyValidateCurrentlyUnchecked) { checkAsset(path, saveablePrefab, p => p.gameObject.name, (p, s) => { PrefabStage prefabStage = PrefabStageUtility.GetPrefabStage(saveablePrefab.gameObject); if (prefabStage != null) { EditorSceneManager.MarkSceneDirty(prefabStage.scene); } PrefabUtility.SaveAsPrefabAsset(saveablePrefab.gameObject, s); }); } }