NGUI预制在Unity新的预制系统无法编辑

旧项目本来使用Unity5.6+NGUI开发的,因为GooglePlay需要支持64位,想着直接升级到2018.4,发现NGUI预制无法编辑,打开就会报错:Error: The root GameObject of the opened Prefab has been moved out of the Prefab Stage scene by a script.当然也可以升级NGUI到最新版但是这样风险更大。

NGUI预制在Unity新的预制系统无法编辑_第1张图片

谷歌了一番,在论坛找到了讨论帖。https://forum.unity.com/threads/error-the-root-gameobject-of-the-opened-prefab-moved-out-of-prefab-stage.697349/ 

最后有个哥们提供了解决方案如下:

https://github.com/shaundg/NGUIPrefabStagePatching

前往该地址下载dll和脚本NGUIPrefabStageHelper.cs,然后放在Unity项目中,即可。

NGUI预制在Unity新的预制系统无法编辑_第2张图片

按照这哥们的说法,该原理是:利用Harmony(https://github.com/pardeike/Harmony)注入对Prefab Stage进行修补的方法,以包括UIRoot设置并显示基于NGUI的UI。

NGUI预制在Unity新的预制系统无法编辑_第3张图片

你可能感兴趣的:(unity3d,游戏开发踩坑记录,NGUI)