PrefabUtility.ResetToPrefabState

切换到手册
public static bool ResetToPrefabState (Object obj);

描述

将组件或游戏对象的属性重置为父预制件状态。

所有重载都将被清除。但预制件实例中根游戏对象的 transform.position 和旋转 永远不会被清除。

using UnityEngine;
using UnityEditor;

class Example : EditorWindow { // Try to set the selected GameObject to a prefab state

[MenuItem("Examples/Attempt to reset to prefab %r")] static void Reset() { if (PrefabUtility.ResetToPrefabState(Selection.activeGameObject)) { Debug.Log("Reseted to prefab state successfully!"); } else { Debug.LogError("Couldnt reset to a prefab state " + Selection.activeGameObject.name); } }

[MenuItem("Examples/Attemp to reset to prefab %r", true)] static bool CheckReset() { return Selection.activeGameObject != null; } }