Материал не дает ревертить,а вот рендерер - пожалуйста.
Используем это:
http://docs.unity3d.com/ScriptRefere...efabState.html
Замечаем,что тип параметра - не GameObject, а Object. Попробуем ему подсунуть рендерер:
using UnityEngine;
using UnityEditor;
public class RevertMaterial
{
[MenuItem("Examples/Attempt to reset to prefab %r")]
static void Reset()
{
Renderer mat = (Selection.activeGameObject as GameObject).GetComponent<Renderer>();
if (mat == null)
{
Debug.LogError("Attempt reset to prefab object withot renderer!" + Selection.activeGameObject.name);
return;
}
if (PrefabUtility.ResetToPrefabState(mat)) Debug.Log("Reseted to prefab state successfully!");
else Debug.LogError("Couldnt reset to a prefab state " + Selection.activeGameObject.name);
}
}
Работает!