Skip to content

Commit ed500bb

Browse files
committed
Implement 'Revert Prefab Name' option in the GameObject/Prefabs context menu
1 parent 9c2fc2c commit ed500bb

File tree

2 files changed

+52
-0
lines changed

2 files changed

+52
-0
lines changed
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
using UnityEditor;
2+
3+
namespace Toolbox.Editor.Utilities
4+
{
5+
public static class PrefabUtility
6+
{
7+
[MenuItem("GameObject/Prefab/Revert Prefab Name", true, -100)]
8+
public static bool ValidateRevertPrefabName()
9+
{
10+
var gameObjects = Selection.gameObjects;
11+
for (int i = 0; i < gameObjects.Length; i++)
12+
{
13+
var gameObject = gameObjects[i];
14+
if (UnityEditor.PrefabUtility.IsAnyPrefabInstanceRoot(gameObject))
15+
{
16+
return true;
17+
}
18+
}
19+
20+
return false;
21+
}
22+
23+
[MenuItem("GameObject/Prefab/Revert Prefab Name", false, -100)]
24+
public static void RevertPrefabName()
25+
{
26+
var gameObjects = Selection.gameObjects;
27+
Undo.RecordObjects(gameObjects, "Revert Prefab Name");
28+
for (int i = 0; i < gameObjects.Length; i++)
29+
{
30+
var gameObject = gameObjects[i];
31+
var prefabObject = UnityEditor.PrefabUtility.GetCorrespondingObjectFromSource(gameObject);
32+
if (prefabObject == null)
33+
{
34+
continue;
35+
}
36+
37+
gameObject.name = prefabObject.name;
38+
}
39+
}
40+
}
41+
}

Assets/Editor Toolbox/Editor/Utilities/PrefabUtility.cs.meta

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)