Unity2018编辑器脚本趟坑记录
解除预制体问题:(这个例子是解除游戏中的Canvas与Asset中的预制体的关系)
if( PrefabUtility.IsAnyPrefabInstanceRoot(GameObject.Find("Canvas")))
PrefabUtility.UnpackPrefabInstance(GameObject.Find("Canvas"), PrefabUnpackMode.Completely, InteractionMode.AutomatedAction);
保存问题:(有时利用Editor脚本修改了物体参数之后,编辑器无法获知,且无法保存,存一下数据和场景就可以了)
AssetDatabase.SaveAssets(); //存所有数据
EditorSceneManager.SaveScene(EditorSceneManager.GetActiveScene()); //存当前场景
数据修改没刷新的问题:(把用Editor脚本改变了的text的数据通知Editor一下,就可以刷新显示新的数据了)
EditorUtility.SetDirty(GameObject.Find("Panel1").transform.Find("text").gameObject);