报错发生背景:由于一些原因,感觉Unity5.6.6版本开发的游戏有可能不能满足今后的要求,所以想将Unity升级到2019版并整理框架,目前直接升级到Unity2019.4.2,然而在编写XLua相关编辑器扩展文件的时候报错:EndLayoutGroup: BeginLayoutGroup must be called first(当然报错本身和XLua没关系,是Unity升级的关系)
网络上查找排查:核心问题还是一句话就能解决,就是GUIUtility.ExitGUI();当然也有可能会踩坑(只能怪自己不怎么熟悉编辑器扩展),这一句话我加在OnInspectorGUI()末尾的时候,发现扩展面板不能使用了,后来细心查找并排查问题,发现是在点击一个按钮操作后爆出的错,所以将这句话添加到了按钮点击执行域里面了,然后问题就解决了。
废话太多了,上代码:

如上图所示,将GUIUtility.ExitGUI()添加到位置一的时候编辑器扩展面板不能使用了,将这句放到位置二去之后就直接解决了问题。
Unity升级与编辑器扩展陷阱
博客详述了从Unity5.6.6升级至2019版时遇到的编辑器扩展问题,特别是与GUIUtility.ExitGUI()的正确使用有关的错误。作者分享了解决EndLayoutGroup:BeginLayoutGroupmustbecalledfirst错误的经验,通过调整该方法的调用位置,成功修复了编辑器扩展面板的使用问题。
24





