PlaySettings主要设置的是配置文件,包括:
- 图标
- 启动画面
- GPU渲染配置
- 加速器频率
- 脚本预定义宏
- API兼容级别
- 打包名称,版本,公司名称等
- 试玩的过期时间
- 编译选项
- 以及Capabilities
注意:以上项如果可以在Visual Studio 2013 中设置的,Unity生成工程时,除了Data文件夹下的文件,都不会覆盖配置,如果想使用在Unity中的配置,需要删除工程文件。
另外有两个关键配置是:
API兼容级别
,
二者的具体区别:
- .NET 2.0 ,整个.NET 2.0都打包进去。
- .NET 2.0 Subset,只打包所需要的子集部分。
编译选项:
- None:用Mono编译器编译C#和JS脚本。
- Use .NET Core:C#文件由微软编译器编译,并使用微软.NET的内核,可以使用WinRT API,但是C#脚本实现的类不能被JS访问。而且,当使用WinRT API时,得用 #NETFX_CORE 所代码包起来,因为这些API只能用于商店应用,在Unity Editor中是不能用的。
- Use .NET Core Partially:在Plugins,Standard Assets,Pro Standard Assets等文件夹中的C#文件是用Mono的C#编译器,这些C#的类可以被JS访问。其他C#脚本用微软的编译器编译,并使用微软.NET的内核。所以要使用WinRT的API,就不能把代码放在前面说的几个文件夹之内,因为Mono编译不了,而与Mono兼容的微软的.NET的API是部分可用的。
注意:如果是JS与C#混用的项目就只能用
Use .NET Core Partially编译,否则两种脚本无法互操作。当然了,解决Mono与微软的编译器的差异也是移植的主要工作。
注意:Unity的多平台支持不仅包括IOS、Android、WP等,还包括Unity自己的Editor。所以不能在Unity Editor中测试.NET CORE的API,因为Unity Editor不支持,当然了,JS文件中也不支持。只能用if #NETFX_CORE && !UNITY_EDITOR 把代码包起来,防止编译错误。