Version: 2020.3
tvOS 构建设置
WebGL

Apple TV Player 设置

本页面将详细介绍 tvOS 特有的 Player 设置。有关常规 Player 设置的描述,请参阅 Player

tvOS 平台的 Player 设置
tvOS 平台的 Player 设置

您可以在以下部分找到这些属性的文档:

Icon

使用 Icon 设置可自定义您的 Apple TV 应用程序的品牌标记。

Apple TV 图像包含两个图层到五个图层。Unity 为 Apple TV 图标提供两个图层。

注意:有关为 Apple TV 分层图像的详细信息,请参阅 Apple 开发者文档的分层图像 (Layered Images) 部分。

设置 功能
App icons 为每种分辨率(1280x768、800x480 和 400x240)构建您希望在 AppleTV 主屏幕上显示的自定义图标。
Top Shelf icons 为每种宽高比和分辨率(4640x1440、2320x720、3840x1440 和 1920x720)构建您希望在 AppleTV 顶层上显示的自定义图标。

Resolution and Presentation

tvOS 平台的 Resolution Scaling 播放器设置
tvOS 平台的 Resolution Scaling 播放器设置

启用 Disable Depth and Stencil 选项可禁用深度和模板缓冲区。

Splash Image

除了通用 Splash Screen 设置,还有两个用于 tvOS 平台的额外设置:

tvOS 平台的启动画面设置
tvOS 平台的启动画面设置

使用 AppleTV (1x)AppleTV (2x) 属性可设置 Apple TV 静态启动画面

Debugging and crash reporting

tvOS 平台上的 Debugging and crash reporting 部分
tvOS 平台上的 Debugging and crash reporting 部分
设置 功能
Enable Internal Profiler (Deprecated) 启用内部性能分析器,它可收集应用程序的性能数据并将报告输出至控制台。报告包含每个 Unity 子系统在每帧上执行时所用的毫秒数。数据是针对 30 帧所求的平均值。
On .Net UnhandledException 对 .NET 未处理异常所采取的操作。提供的选项为 Crash_(应用程序几乎崩溃并且强制 tvOS 生成可通过应用程序用户提交到 iTunes 并由开发人员检查的崩溃报告)和 Silent Exit_(应用程序成功退出)。
Log Obj-C Uncaught Exceptions 启用一个自定义 Objective-C 未捕获异常处理程序,此处理程序会将异常信息输出至控制台。
Enable Crash Report API 启用自定义崩溃报告程序以捕获崩溃。脚本可通过 CrashReport API 使用崩溃日志。

Other Settings

此部分可以自定义一系列选项,这些选项分为以下几组:

Rendering

使用这些设置可自定义 Unity 针对独立平台渲染游戏的方式。

tvOS 平台的 Rendering Player 设置
tvOS 平台的 Rendering Player 设置
设置 功能
Color Space 选择应该用于渲染的颜色空间,选项为:_Gamma_ 或 Linear
请参阅线性渲染概述以了解这两者之间的区别。
Auto Graphics API 禁用此选项可手动设置图形 API。此选项在默认情况下为启用状态,并包含 Metal
Color Gamut 可以为 iOS 平台添加或删除色域以用于渲染。单击加号 (+) 图标查看可用色域的列表。色域定义了给定设备(如监视器或屏幕)可以使用的所有颜色范围。sRGB 色域是默认色域(也是必需色域)。
如果目标设备是具备宽色域显示屏的新款 tvOS 设备,请使用 DisplayP3 充分利用显示能力。对于旧设备,使用 Metal Editor Support 作为后备选项。
Metal Editor Support 启用此选项可在 Unity Editor 中使用 Metal API,并释放更快速的着色器迭代以定位 Metal API。
Metal API Validation 如果需要调试着色器问题,请启用此选项。
注意:验证会提高 CPU 使用率,因此仅在进行调试时使用。
Metal Write-Only Backbuffer 允许在非默认设备方向上提高性能。此属性会在后缓冲区上设置 frameBufferOnly 标志,因此会阻止从后缓冲区的回读,但可实现一定程度的驱动程序优化。
Force hard shadows on Metal 启用此选项可强制 Unity 在 Metal 中对阴影使用点采样。这样会降低阴影质量,但应该能提供更好的性能。
Memoryless Depth 选择何时使用无记忆渲染纹理。无记忆渲染纹理在渲染时临时存储在区块内存中,而不是存储在 CPU 或 GPU 内存中。这可减少应用的内存使用量,但您无法读取或写入这些渲染纹理。
注意:只有 tvOS、tvOS 10.0+ Metal 和 Vulkan 上支持无记忆渲染纹理。在其他平台上,渲染纹理受读/写保护并存储在 CPU 或 GPU 内存中。
Unused 从不使用无记忆帧缓冲区深度。
Forced 始终使用无记忆帧缓冲区深度。
Automatic 让 Unity 决定何时使用无记忆帧缓冲区深度。
Multithreaded Rendering 启用此选项可使用多线程渲染。仅 Metal 支持此功能。
Static Batching 启用此选项可使用静态批处理。
Dynamic Batching 选中此复选框可在构建中使用动态批处理(默认情况下启用)。
Compute Skinning 启用此选项可使用 DX11/ES3 GPU 计算蒙皮,这样可以释放 CPU 资源。
Graphics Jobs (Experimental) 启用此选项可指示 Unity 将图形任务(渲染循环)卸载到在其他 CPU 核心上运行的工作线程。此功能旨在减少主线程上 Camera.Render 所花费的时间,该时间通常成为瓶颈。
注意:此功能是实验性的。此功能可能无法为项目带来性能提升,并可能引入新的崩溃。
Normal Map Encoding 选择 XYZDXT5nm 样式_对法线贴图编码进行设置。此设置影响用于法线贴图的编码方案和压缩格式。DXT5nm 样式_的法线贴图质量更高,但在着色器中解码成本更高。
Lightmap Encoding 选择 Low QualityNormal QualityHigh Quality 来设置光照贴图编码。此设置影响光照贴图的编码方案和压缩格式。
Lightmap Streaming Enabled 启用此选项可根据需要仅加载光照贴图 Mipmap 以渲染当前游戏摄像机。此值适用于生成的光照贴图纹理。
注意:要使用此设置,必须启用 Texture Streaming Quality 设置。
Streaming Priority 设置光照贴图 Mipmap 串流优先级以解决资源冲突。Unity 将这些值应用于生成的光照贴图纹理。
正数提供更高的优先级。有效值范围为 –128 到 127。
Enable Frame Timing Stats 启用此选项可收集 CPU/GPU 帧时序统计信息。

Identification

tvOS 平台的 Identification 设置
tvOS 平台的 Identification 设置
设置 功能
Bundle Identifier 输入您正在构建的游戏或产品的资源调配配置文件。标识符的基本结构是 com.CompanyName.ProductName。此结构可能会根据您居住的地方而有所不同,因此始终默认为 Apple 为您的开发者帐户提供的字符串。您的 ProductName 已在您的资源调配证书中设置。
此值在关联的 info.plist 文件中显示为 CFBundleIdentifier。请参阅 Apple 开发者文档的 CFBundleIdentifier 部分以了解更多信息。
注意:iOS、tvOS 和 Android 共享此设置。
Version 输入捆绑包的 release-version-number 字符串(例如,4.3.6)。此信息在关联的 info.plist 文件中显示为 CFBundleShortVersionString
请参阅 Apple 开发者文档的 CFBundleShortVersionString 部分以了解更多信息。
Build 输入此应用版本的内部版本号。此信息在关联的 info.plist 文件中显示为 CFBundleVersion
请参阅 Apple 开发者文档的 CFBundleVersion 部分以了解更多信息。
Signing Team ID 输入您的 Apple Developer Team ID。您可以在 Apple 开发者网站上的 Xcode Help 下找到此信息。这将为生成的 Xcode 项目设置 Team ID,从而允许开发者使用 Build and Run 功能。必须在此处设置 Apple Developer Team ID 才能为应用程序自动签名。有关更多信息,请参阅创建团队资源调配配置文件 (Creating Your Team Provisioning Profile)
Automatically Sign 启用此选项可允许 Xcode 自动为您的构建版本签名。

配置

tvOS 平台的 Configuration 设置
tvOS 平台的 Configuration 设置
设置 功能
Scripting Runtime Version 选择要在项目中使用的 .NET 运行时。有关更多详细信息,请参阅 Microsoft 的 .NET 文档
.NET 3.5 Equivalent (Deprecated) 一个实现 .NET 3.5 API 的 .NET 运行时。此功能已弃用,不应再使用。请使用 .NET 4。
.NET 4.x Equivalent 一个实现 .NET 4 API 的 .NET 运行时。此 API 比 .NET 3.5 更新,因此提供对更多 API 的访问、与更多外部库兼容并支持 C# 6。这是默认脚本运行时。
Scripting Backend 选择要使用的脚本后端。tvOS 未启用此设置。
API Compatibility Level API 兼容性级别有两个选项:.NET 4.0.NET Standard 2.0
提示:如果您遇到第三方程序集的问题,可以尝试下文的 API Compatibility Level 部分中的建议。
C++ Compiler Configuration 选择在编译 IL2CPP 生成的代码时使用的 C++ 编译器配置。tvOS 未启用此设置。
Use on Demand Resource 启用此选项可使用按需资源。
此设置对 tvOS 无效。
Accelerometer Frequency 定义加速度计采样的频率。如果选择 Disabled_,则不会进行采样。否则,可以选择 15Hz30Hz、60Hz100Hz 频率。
Camera Usage Description 输入在 tvOS 设备上访问摄像头的原因。
Location Usage Description 输入访问 tvOS 设备位置的原因。
Microphone Usage Description 输入在 tvOS 设备上访问麦克风的原因。
Mute Other Audio Sources 如果希望 Unity 应用程序从后台运行的应用程序中停止音频,请启用此选项。否则,来自后台应用程序的音频继续与 Unity 应用程序一起播放。
Requires Persistent WiFi 启用此选项可要求 Wi-Fi 连接。tvOS 在应用程序运行时保持有效的 Wi-Fi 连接。
Allow downloads over HTTP (nonsecure) 启用此选项可允许通过 HTTP 下载内容。推荐使用 HTTPS,这也是默认设置。
Supported URL schemes 支持的 URL 方案列表。
要添加新方案,请增大 Size 属性的值,然后在出现的新 Element 框中设置对要加载的资源的引用。
Target SDK 选择游戏所针对的 SDK。选项包括 Device SDKSimulator SDK
注意:请务必选择正确的 SDK。例如,如果选择 Device SDK 但是之后在 Xcode 中以 Simulator 为目标,那么构建将失败,并显示大量错误消息。
Target minimum tvOS Version 定义运行游戏所需要的最低 tvOS 版本。
Architecture 选择目标架构。对于 tvOS,此设置未启用,因为此设置会根据为 Target SDK 属性设置的值自动更改。
Require Extended Game Controller 如果应用程序需要游戏控制器,请启用此选项。有关更多信息,请参阅 Apple 开发者文档的游戏控制器 (Game Controllers) 部分。
Active Input Handling 选择您希望如何处理来自用户的输入。
Input Manager 使用传统的 Input 窗口。
Input System (Preview) 使用输入系统。输入系统作为此版本的预览包提供。要试用输入系统的预览版,请安装 InputSystem 包
Both 并排使用两个系统。

API Compatibility Level

可为所有目标选择 mono API 兼容性级别。有时,第三方 .NET 库会使用 .NET 兼容性级别之外的功能。为了解在这种情况下可能发生的问题以及如何以最佳方案修复问题,请尝试以下解决方案:

1.安装适用于 Windows 的 Reflector。 2.将出现问题的相关 API 兼容性级别的 .NET 程序集拖到 Reflector 中。这些程序集位于 Frameworks/Mono/lib/mono/YOURSUBSET/ 下。 3.拖入第三方程序集。 4.右键单击第三方程序集并选择 Analyze。 5.在分析报告中,检查 Depends on 部分。此报告以红色突出显示第三方程序集所依赖的但在您选择的 .NET 兼容性级别中不可用的任何内容。

Script Compilation

面向 tvOS 平台的脚本编译设置
面向 tvOS 平台的脚本编译设置
Setting Function
Scripting Define Symbols Set custom compilation flags. For more details, see the documentation on Platform dependent compilation.
Additional Compiler Arguments Add entries to this list to pass additional arguments to the Roslyn compiler. Use one new entry for each additional argument.
To create a new entry, press the ‘+’ button. To remove an entry, press the ‘-’ button.
When you have added all desired arguments, click the Apply button to include your additional arguments in future compilations.The Revert button resets this list to the most recent applied state.
Suppress Common Warnings Disable this setting to display the C# warnings CS0169 and CS0649.
Allow ‘unsafe’ Code Enable support for compiling ‘unsafe’ C# code in a pre-defined assembly (for example, Assembly-CSharp.dll).
For Assembly Definition Files (.asmdef), click on one of your .asmdef files and enable the option in the Inspector window that appears.
Use Deterministic Compilation Disable this setting to prevent compilation with the -deterministic C# flag. With this setting enabled, compiled assemblies are byte-for-byte identical each time they are compiled.
For more information, see Microsoft’s deterministic compiler option documentation.
Enable Roslyn Analyzers Disable this setting to compile user-written scripts without Roslyn analyzer DLLs that might be present in your project.
Use Roslyn Reference Assemblies Disable this setting to the compiler not to skip compilation reference assemblies when the metadata of the assembly does not change.

Optimization

tvOS 平台的 Optimization 设置
tvOS 平台的 Optimization 设置
设置 功能
Prebake Collision Meshes 启用此选项可在构建时将碰撞数据添加到网格。
Keep Loaded Shaders Alive 启用此选项可防止卸载着色器。
Preloaded Assets 设置一个资源数组,供播放器在启动时加载。
要添加新资源,请增大 Size 属性的值,然后在出现的新 Element 框中设置对要加载的资源的引用。
AOT compilation options 提前 (AOT) 编译的附加选项。这有助于优化构建的 tvOS 播放器的大小
Strip Engine Code 启用代码剥离。此设置仅适用于 IL2CPP 脚本后端
大多数游戏都不会使用所有必需的 DLL。启用 Strip Engine Code 选项后,可以剥离掉未使用的部分以减小 tvOS 设备上构建的播放器的大小。如果您的游戏使用的类通常会被您当前选择的选项删除,那么在进行构建时,将看到一条调试消息。
Managed Stripping Level 选择 Unity 剥离未使用的托管 (C#) 代码时的激进程度。
Normal 删除无法访问的托管代码以减少构建大小和 .NET/IL2CPP 构建时间。
Aggressive 以比正常情况更激进的模式运行 UnityLinker,因此将进一步减少代码大小甚至比 Normal 选项可以实现的效果更强。然而,这种进一步的缩减可能伴随着取舍。有关更多信息,请参阅 ManagedStrippingLevel
Script Call Optimization 选择如何在运行时选择性地禁用异常处理以提高速度。有关详细信息,请参阅 iOS 优化
Slow and Safe 使用完整的异常处理(使用 Mono 脚本后端时会对设备的性能有一些影响)。
Fast but no Exceptions 不为设备上的异常提供数据(使用 Mono 脚本后端时游戏运行速度更快)。
注意:将此选项与 IL2CPP 脚本后端 一起使用不会影响性能;但是,使用此选项可以避免发布版本中出现未定义的行为。
Vertex Compression 设置每个通道的顶点压缩。例如,可以为除位置和光照贴图 UV 之外的所有内容启用压缩。为每个导入对象设置的整个网格压缩将覆盖在对象上设置顶点压缩。所有其他内容都遵循这些顶点压缩设置。
Optimize Mesh Data 启用此选项可从网格中删除应用于网格的材质不需要的所有数据(例如切线、法线、颜色和 UV)。

Logging

选择在特定上下文中允许的日志记录类型。

tvOS 平台的 Logging 设置
tvOS 平台的 Logging 设置

选中运行脚本时 (ScriptOnly)、始终 (Full) 或从不 (None) 条件下对应于每个 Log Type(__ErrorAssertWarningLog__ 和 __Exception__)的复选框。

Legacy

启用 Clamp BlendShapes (Deprecated) 选项可在 SkinnedMeshRenderers 中钳制混合形状权重的范围。

tvOS 平台的 Legacy 设置
tvOS 平台的 Legacy 设置



  • 2018–11–28 页面已修订

  • 在 Unity 2019.1 中添加了输入系统预览

  • 在 Unity 2019.3 将 GPU Skinning 重命名为 Compute Skinning

  • 在 Unity 2019.3 将 GPU Skinning 重命名为 Compute SkinningNewIn20193

  • Unity 2019.3 中已弃用 OpenGLES2/3

  • Unity 2020.1 中已删除 OpenGLES2/3

tvOS 构建设置
WebGL