对于游戏包大小有严格显示的项目,一般会开启引擎代码裁剪
这种情况下,引擎不用的代码在开启了il2cpp模式下,不会编译进包内,这样有一个风险,如果一个代码被引用的资源,没有任何一个在游戏包内,目前主要是 Resource目录,会因为代码裁剪导致对应的代码组件无法创建,出现报错
Could not produce class with ID 62. This could be caused by a class being stripped from the build even though it is needed. Try disabling 'Strip Engine Code' in Player Settings.
通过unity的reference可以查看id对应的class
然后创建一个对应脚本的资源,放到resource目录可以解决
问题是,只有出错才知道缺少了什么,比较被动,还一个办法是,设置bundle路径
2017以后的版本已经支持设置bundle路径来查看脚本的引用情况,