编辑器扩展运行报错EndLayoutGroup: BeginLayoutGroup must be called first

时间:2024-03-18 21:42:03

报错发生背景:由于一些原因,感觉Unity5.6.6版本开发的游戏有可能不能满足今后的要求,所以想将Unity升级到2019版并整理框架,目前直接升级到Unity2019.4.2,然而在编写XLua相关编辑器扩展文件的时候报错:EndLayoutGroup: BeginLayoutGroup must be called first(当然报错本身和XLua没关系,是Unity升级的关系)

网络上查找排查:核心问题还是一句话就能解决,就是GUIUtility.ExitGUI();当然也有可能会踩坑(只能怪自己不怎么熟悉编辑器扩展),这一句话我加在OnInspectorGUI()末尾的时候,发现扩展面板不能使用了,后来细心查找并排查问题,发现是在点击一个按钮操作后爆出的错,所以将这句话添加到了按钮点击执行域里面了,然后问题就解决了。

废话太多了,上代码:
编辑器扩展运行报错EndLayoutGroup: BeginLayoutGroup must be called first
如上图所示,将GUIUtility.ExitGUI()添加到位置一的时候编辑器扩展面板不能使用了,将这句放到位置二去之后就直接解决了问题。