Unity3D打包发生错误 "The type or namespace name `UnityEditor' could not be found"(小心使用)

版权声明:欢迎交流,本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_42513339/article/details/83411060

这句话是说明UnityEditor未发现,主要是某个脚本里写了关于Editor相关的函数。

首先我们需要知道,使用UnityEditor的时候,一般是在自己项目调试运行的时候使用,而打包出来生成文件的时候,这个命令是没法在文件中使用的,所以就算不提示错误,打包出来也是不能用。

PS:这点尤其重要,因为有些逻辑命令,我们不应该用UnityEditor的相关函数写,不然打包出来也不能用。

 

错误的解决方法:

首先确保自己想做出打包文件的逻辑跟UnityEditor无关,然后在UnityEditor前后加上两个语句就可以了,如下:

#if UNITY_EDITOR
    //用到编辑器的代码
 #endif

例子1:

  • #if UNITY_EDITOR
  • using UnityEditor;
  • #endif

例2

  • #if UNITY_EDITOR
  • UnityEditor.EditorApplication.isPlaying = false;
  • #endif

这里我们还是需要注意到,#if 到#endif 之间的逻辑代码,打包出来的时候是无法调用的。千万不要在里面加入想要实现的逻辑!!

还有一种解决方法:

就是把报错的脚本移到Editor文件夹下面也可以,这个文件夹的位置很随意,放在Asset初始目录下面就可以。当然其他英文的应该也行。若没有Editor文件夹,新建一个Editor文件夹就好了。

但是不推荐,除非这个脚本本身就是只有Editor相关的,否则,逻辑代码不会执行了。

猜你喜欢

转载自blog.csdn.net/weixin_42513339/article/details/83411060