Unity项目打包到移动平台丢失Shader,错误描述:ArgumentNullException: Value cannot be null. Parameter name: shader
问题描述
在将Unity中的项目打包生成到UWP平台后,运行时出现错误:ArgumentNullException: Value cannot be null. Parameter name: shader
产生原因
在Unity中,Shader是从代码中进行加载的,编辑器中并没有引用。在编辑器中运行项目没有问题,但当项目发布到移动平台,如ios、android、UWP之后,游戏中并不能找到对应的shader。因为Shader在场景中并未被引用,所以没有被打包。
解决方法
在GraphicsSettings中添加上此shader:
- 选择Edit->ProjectSettings->Graphics:
在Always Included Shaders数组中,更改size,并将所需用到的Shader拖入其中: