前言

总结归纳平常适用Unity的过程中遇到的问题。

正文

UGUI界面无法点击

检查一下场景中是否存在 EventSystem

命名空间 System.Drawing 找不到

打开Unity编辑器-Edit-Project Setting-Player-对应PC平台
或者
按照 -Api Compatibility Level 改为 .Net 4.x

AssetBundle卸载报错

在调用AssetBundle.Unload方法时报错

错误提示:

1
Assertion failed on expression: 'm_PreventLoadingFromFile != nameSpaceI

原因:

创建一个有摄像头的预制件,在编辑器中创建一个渲染纹理,并将渲染纹理设置到相机上。将预制件构建成assetbundle。当你卸载assetbundle.卸载(true)时,你会得到错误msg:“mpreventloadingfromfile!=nameSpaceID。”

最主要的一点是,在prefab中,摄像头不能有一个渲染纹理,你可以在编辑器中创建它。

所以需要确保你的prefab中相机的Target Texture为空

img1

此处的 Target Texture将用代码进行动态赋值

1
gameObject.GetComponent<Camera>().targetTexture = renderer1;(renderer1为Render Texture)

如此便可以解决。

找不到 PackageManager

问题可能出自于项目经过多次更新,早期的版本没有包管理器,或者其他原因弄丢了

解决方法是:

关闭unity

在项目根目录下的Packages文件夹里的manifest.json里面加一行

“com.unity.package-manager-ui”: “2.0.3”,
注意最后的逗号不能少。

然后打开unity 应该就可以看到了


to be continued…