Version: 2018.4
iOS 硬件指南
iOS 2D 纹理覆盖

iOS 平台的 Player 设置

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

注意:Unity iOS 需要 iOS 7.0 或更高版本。Unity 不支持 iOS 6.0 和更低版本。

独立平台 Mac Player 设置
独立平台 Mac Player 设置

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

Icon

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

注意:如果省略任何图标纹理,则相应地缩放最近大小的图标纹理(偏向于更大的分辨率纹理)。

设置 功能
Application icons 为每个 iOS 设备分配您希望出现在应用程序上的自定义图标。
Spotlight icons 为每个 iOS 设备分配要在 Spotlight 搜索结果中针对您的游戏显示的自定义图标。
Settings icons 为每个 iOS 设备分配要显示在手机主设置页面上的自定义图标。
Notification icons 为每个 iOS 设备分配您的游戏发送通知时您希望显示的自定义图标。
Marketing icons 为每个 iOS 设备分配要在 App Store 中针对您的游戏显示的自定义图标。

Resolution and Presentation

使用 Resolution and Presentation 部分可以自定义屏幕外观的各个方面:

Resolution Scaling

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

Resolution Scaling Mode 允许将缩放设置为等于或低于屏幕原始分辨率:

功能
FixedDPI 允许将设备的屏幕分辨率缩放为低于其原始分辨率,并显示 Target DPI 属性。使用此属性可优化性能和电池续航时间,或者针对特定的 DPI 设置。
Disabled 确保不应用缩放,并且游戏渲染屏幕原始分辨率。

设置游戏画面的 Target DPI 属性。如果设备的屏幕原始 DPI 高于此值,则 Unity 会降低游戏画面分辨率以匹配此设置。缩放的计算公式为 min(Target DPI * Factor / Screen DPI, 1)FactorQuality 设置中的 Resolution Scaling Fixed DPI Factor 属性控制。

注意:仅当 Resolution Scaling Mode 设置为 Fixed DPI 时才会显示此选项。

Orientation

iOS 平台的 Orientation 播放器设置
iOS 平台的 Orientation 播放器设置

Default Orientation 下拉菜单中选择游戏的屏幕方向:

设置 功能
Portrait 主屏幕按钮显示在底部。
Portrait Upside Down 主屏幕按钮显示在顶部。
Landscape Left 主屏幕按钮显示在右侧。
Landscape Right 主屏幕按钮显示在左侧。
Auto Rotation 屏幕方向随设备方向而变化。此为默认值。

注意:iOS 和 Android 设备共享此设置。

将方向设置为 Auto Rotation 时,将显示 Allowed Orientations for Auto Rotation 部分。

如果您希望改变方向以动画化屏幕旋转,而不是仅仅切换,请启用 Use Animated Autorotation 设置。仅当 Default Orientation 设置为 Auto Rotation 时才会显示此选项。

Allowed Orientations for Auto Rotation

仅当 Default Orientation 设置为 Auto Rotation 时才会显示此部分。

iOS平台的 Allowed Orientations for Auto Rotation 播放器设置
iOS平台的 Allowed Orientations for Auto Rotation 播放器设置

由于 Auto Rotation 会更改屏幕方向以匹配设备,您可能希望限制允许的屏幕方向(例如,将设备锁定为横向)。

通过选中本部分中的复选框,启用要允许的每个方向:

设置 功能
Portrait 允许纵向方向。
Portrait Upside Down 允许纵向上下翻转方向。
Landscape Right 允许横向右侧方向(主屏幕按钮位于左侧)。
Landscape Left 允许横向左侧方向(主屏幕按钮位于右侧)。

Multitasking Support

iOS 平台的 Multitasking Support 播放器设置
iOS 平台的 Multitasking Support 播放器设置

如果游戏需要在全屏模式下运行,请启用 Requires Fullscreen 选项。

Status Bar

iOS 平台的 Status Bar 播放器设置
iOS 平台的 Status Bar 播放器设置
设置 功能
Status Bar Hidden 启用此选项可在应用程序启动时隐藏状态栏。
Status Bar Style 定义应用程序启动时状态栏的样式。选项为 DefaultBlack TranslucentBlack Opaque
Disable Depth and Stencil 启用此选项可禁用深度和模板缓冲区。
Show Loading Indicator 选择应如何显示加载指示符。选项为 Don’t ShowWhite LargeWhiteGray

Splash Image

通用 Splash Screen 设置上方,Player 设置允许您为 iOS 平台指定启动画面。

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

使用 Virtual Reality Splash Image 属性可选择要在虚拟现实显示中显示的自定义启动画面。

在通用 Splash Screen 设置下面,可以启用 Use Storyboard for Launch 以显示 Custom Storyboard 按钮。

iOS Player 平台上的 Use Storyboard for Launch Screen 选项
iOS Player 平台上的 Use Storyboard for Launch Screen 选项

单击该按钮可选择一个故事板,以便在游戏在设备上启动时显示。要让故事板出现在这里,您首先需要在 Xcode 中创建故事板并将其复制到您的项目中。

或者,也可以禁用 Use Storyboard for Launch 选项并采用下列方法之一来实现启动画面:Launch ScreensLegacy Launch Images

在 iOS Player 平台上指定 Launch Screen 或 Legacy Launch Images
在 iOS Player 平台上指定 Launch Screen 或 Legacy Launch Images

Launch Screens

Launch Screen 是一个 XIB 文件,iOS 通过该文件动态地在设备上创建一个启动画面。但是,有一些限制:

  • 无法根据 iPad 设备的方向来显示不同的内容。

  • 所有的 iPhone 都支持横向 Launch Screens__;但是,由于 iOS 中的一个缺陷,在某些 iOS 版本中显示 Landscape Left__,而不是 Landscape Right

iPhone Launch ScreeniPad Launch Screen 部分允许您从 Launch Screen type 下拉菜单中选择 Launch Screen 类型:

功能
Default 一个与启动图像 (Launch Image) 非常相似的启动屏幕 (Launch Screen)。选择一张图像用于纵向和横向。选择顺序:iPhone 6+ 启动图像、共享移动端启动图像、iPhone 6+ 默认 Unity 启动图像。系统将使用宽高填充模式来显示图像。
None 这种行为就好像只使用了启动图像一样。
Image and background (relative size) 显示中心对齐的图像,其余区域填充纯色。图像大小是用户指定的屏幕大小百分比,以较小的尺寸来计算(横向时垂直,纵向时水平)。用户还指定纵向和横向的背景颜色和图像。图像选择顺序:用户指定的图像、共享的移动端启动图像、iPhone 6+ 默认 Unity 启动图像。系统将使用宽高填充模式来显示图像。
Image and background (constant size) 与 relative size 选项相同,但图像的大小是由用户指定的点数来定义的。
Custom XIB 来自任何位置的由用户指定的 XIB 文件。

注意:如果使用的是 Unity Personal 订阅,Unity 启动画面将在引擎初始化后立即显示,此外还会显示您选择的启动画面。

Legacy Launch Images

启动图像__是静态启动画面图像,将占据整个屏幕。您可以在资源目录 (Images.xcassets/LaunchImage) 中定义启动图像。请务必为每种受支持的大小和方向组合添加一个__启动屏幕 (Launch Screen)

设置 功能
Mobile Splash Screen 指定要用于 iOS 启动画面的纹理。标准启动画面大小为 320x480。(iOS 和 Android 之间共享此设置。)
iPhone 3.5"/Retina 指定要用于 iOS 3.5" Retina 启动画面的纹理。启动画面大小为 640x960。
iPhone 4"/Retina 指定要用于 iOS 4" Retina 启动画面的纹理。启动画面大小为 640x1136。
iPhone 4.7"/Retina 指定要用于 iOS 4.7" Retina 启动画面的纹理。启动画面大小为 750x1334。
iPhone 5.5"/Retina 指定要用于 iOS 5.5" Retina 启动画面的纹理。启动画面大小为 1242x2208。
iPhone 5.5" Landscape/Retina 指定要用于 iOS 5.5" 横向/Retina 启动画面的纹理。启动画面大小为 2208x1242。
iPhone X\Retina 指定要用于 iPhone X Retina 启动画面的纹理。启动画面大小为 1125x2436。
iPhone X Landscape\Retina 指定要用于 iPhone X 横向/Retina 启动画面的纹理。启动画面大小为 2436x1125。
iPad Portrait 指定要用作 iPad 纵向启动画面的纹理。标准启动画面大小为 768x1024。
iPad Landscape 指定要用作 iPad 横向启动画面的纹理。标准启动画面大小为 1024x768。
iPad Portrait/Retina 指定要用作 iPad Retina 纵向启动画面的纹理。标准启动画面大小为 1536x2048。
iPad Landscape/Retina 指定要用作 iPad Retina 横向启动画面的纹理。标准启动画面大小为 2048x1536。

只有 iPhone 6+ 支持横向;其他 iPhone 只能使用纵向。

启动图像按以下顺序选择:

  • 如果设置了纹理,则特定__启动图像__优先
  • 默认的 Unity 启动画面启动图像,也就是纯蓝黑色

您需要为自己的构建版本设置所有__启动图像__。

Debugging and crash reporting

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

Other Settings

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

Rendering

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

iOS 平台的 Rendering Player 设置
iOS 平台的 Rendering Player 设置
设置 功能
Color Space 选择应该用于渲染的颜色空间,选项为:_Gamma_ 或 Linear
请参阅线性渲染概述以了解这两者之间的区别。
Auto Graphics API 禁用此选项可手动选择和重新排序图形 API。默认情况下,此选项是启用的,并且 Unity 包含 Metal,对于不支持 Metal 的设备,以 GLES2 作为后备选项。
Color Gamut 可以为 iOS 平台添加或删除色域以用于渲染。单击加号 (+) 图标查看可用色域的列表。色域定义了给定设备(如监视器或屏幕)可以使用的所有颜色范围。sRGB 色域是默认色域(也是必需色域)。
如果目标设备是具备宽色域显示屏的新款 iOS 设备,请使用 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 内存中。这可减少应用的内存使用量,但您无法读取或写入这些渲染纹理。
注意:只有 iOS、tvOS 10.0+ Metal 和 Vulkan 上支持无记忆渲染纹理。在其他平台上,渲染纹理受读/写保护并存储在 CPU 或 GPU 内存中。
Unused 从不使用无记忆帧缓冲区深度。
Forced 始终使用无记忆帧缓冲区深度。
Automatic 让 Unity 决定何时使用无记忆帧缓冲区深度。
Multithreaded Rendering 启用此选项可使用多线程渲染。仅 Metal 支持此功能。
Static Batching 启用此选项可使用静态批处理
Dynamic Batching 启用此选项可在构建中使用动态批处理(默认情况下启用)。
注意:可编程渲染管线激活时,动态批处理无效,所以仅当 Scriptable Render Pipeline Asset Graphics 设置中未设置任何内容时,此设置才可见。
GPU Skinning 启用此选项可使用 DX11/ES3 GPU 蒙皮。要了解有关 GPU 蒙皮的更多信息,请参阅关于骨骼动画的 Wikipedia 页面
Graphics Jobs (Experimental) 启用此选项可指示 Unity 将图形任务(渲染循环)卸载到在其他 CPU 核心上运行的工作线程。此功能旨在减少主线程上 Camera.Render 所花费的时间,该时间通常成为瓶颈。
注意:此功能是实验性的。可能无法为您的项目带来性能提升,并可能导致不稳定。
Unity 目前仅在使用 Vulkan 时支持图形作业 (Graphics Jobs),使用 OpenGL ES 时此设置无效。
Lightmap Streaming Enabled 启用此选项可根据需要仅加载光照贴图 Mipmap 以渲染当前游戏摄像机。此值适用于生成的光照贴图纹理。
注意:要使用此设置,必须启用 Texture Streaming Quality 设置。
Streaming Priority 设置光照贴图 Mipmap 串流优先级以解决资源冲突。这些值应用于生成的光照贴图纹理。
正数提供更高的优先级。有效值范围为 –128 到 127。
Enable Frame Timing Stats 启用此选项可收集 CPU/GPU 帧时序统计信息。

Identification

iOS 平台的 Identification 设置
iOS 平台的 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 自动为您的构建版本签名。

配置

iOS 平台的 Configuration 设置
iOS 平台的 Configuration 设置

A API 配置设置

B Apple 特定信息

C 设备信息

D Variant map for app slicing

E 其他配置设置

API 配置设置

iOS 平台的 API 配置设置
iOS 平台的 API 配置设置
设置 功能
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 脚本后端确定 Unity 如何在项目中编译和执行 C# 代码。iOS 未启用此设置。
Mono 要使用增量构建,请从 Build Settings 对话框中选择 Build 后选择 Append 选项。Replace 选项将执行干净的构建。将 C# 代码编译为 .NET 公共中间语言 (CIL) 并使用公共语言运行时执行该 CIL。
警告:Apple App Store 不再接受 Mono 构建,且 iOS 11 及更高版本不支持 Mono。仅当使用了已弃用的 .NET 3.5 运行时的时候才能选择 Mono。
IL2CPP 将 C# 代码编译为 CIL,将 CIL 转换为 C++,然后将该 C++ 编译为本机机器代码,该代码在运行时直接执行。有关更多信息,请参阅 IL2CPP
提示:由 IL2CPP 脚本后端生成的 C++ 代码可以逐步更新,从而允许增量式 C++ 构建系统仅编译更改的源文件。这种方式可以显著降低迭代次数。
API Compatibility Level 兼容性级别确定您可以在项目中使用哪些 .NET API。此设置可能会影响与第三方库的兼容性。
提示:如果您遇到第三方程序集的问题,可以尝试下文的 API Compatibility Level 部分中的建议。
.Net 2.0 最高的 .net 兼容性,最大的文件大小。属于已弃用的 .NET 3.5 运行时。
.Net 2.0 Subset 完整 .net 兼容性的子集,最小的文件大小。属于已弃用的 .NET 3.5 运行时。
.Net Standard 2.0 兼容 .NET Standard 2.0。生成较小的构建并具有完整的跨平台支持。
.Net 4.x 如果使用的库需要访问 .NET Standard 2.0 中未包含的 API,请选择此选项。兼容 .NET Framework 4(包括 .NET Standard 2.0 配置文件中的所有内容以及其他 API)。
生成更大的构建,并且任何可用的其他 API 不一定在所有平台上都受支持。有关更多信息,请参阅引用其他类库程序集
C++ Compiler Configuration 选择在编译 IL2CPP 生成的代码时使用的 C++ 编译器配置。iOS 未启用此设置。

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 兼容性级别中不可用的任何内容。

Apple 特定信息

iOS 平台的 Apple 特定配置设置
iOS 平台的 Apple 特定配置设置
设置 功能
Use on Demand Resource 启用此选项可使用按需资源。
启用后,将显示 Variant map for app slicing 部分。
Accelerometer Frequency 定义加速度计采样的频率。如果选择 Disabled_,则不会进行采样。否则,可以选择 15Hz30Hz、60Hz100Hz 频率。
Camera Usage Description 输入在 iOS 设备上访问摄像头的原因。
Location Usage Description 输入访问 iOS 设备位置的原因。
Microphone Usage Description 输入在 iOS 设备上访问麦克风的原因。
Mute Other Audio Sources 如果希望 Unity 应用程序从后台运行的应用程序中停止音频,请启用此选项。否则,来自后台应用程序的音频继续与 Unity 应用程序一起播放。
Prepare iOS for Recording 启用此选项可初始化麦克风录音 API。这会使录音延迟降低,但在 iPhone 上,仅通过耳机重新传送音频输出。
Force iOS Speakers when Recording 启用此选项可通过内置扬声器发送手机输出,即使插入耳机和录音也是如此。
Requires Persistent WiFi 启用此选项可要求 Wi-Fi 连接。iOS 在应用程序运行时保持有效的 Wi-Fi 连接。
Allow downloads over HTTP (nonsecure) 启用此选项可允许通过 HTTP 下载内容。推荐使用 HTTPS,这也是默认设置。
Supported URL schemes 支持的 URL 方案列表。
要添加新方案,请增大 Size 属性的值,然后在出现的新 Element 框中设置对要加载的资源的引用。

设备信息

iOS 平台的设备配置设置
iOS 平台的设备配置设置
设置 功能
Disable HW Statistics 启用此选项可指示应用程序不要将有关硬件的信息发送到 Unity。有关更多详细信息,请参阅 Unity 硬件统计信息
Target Device 选择游戏的目标设备。选项包括 iPhone OnlyiPad OnlyiPhone + iPad
Target SDK 选择游戏所针对的 SDK。选项包括 Device SDKSimulator SDK
注意:请务必选择正确的 SDK。例如,如果选择 Device SDK 但是之后在 Xcode 中以 Simulator 为目标,那么构建将失败,并显示大量错误消息。
Target minimum iOS Version 定义运行游戏所需要的最低 iOS 版本。
Enable ProMotion Support 启用此选项可在 ProMotion 显示屏上允许高频刷新率 (120 Hz)。启用此设置可能会影响电池续航时间。
Requires ARKit support 启用此选项可在发布到 App Store 时将应用程序限制为 iPhone 6s/iOS 11 或更新款的设备。
Defer system gestures on edges 用户必须轻扫哪个边缘两次才能作为系统手势:_Top EdgeLeft EdgeBottom Edge_ 和 Right Edge
Hide home button on iPhone X 启用此选项可在应用程序运行时隐藏 iPhone X 设备上的主屏幕按钮。
Render Extra Frame on Pause 启用此选项可在应用程序暂停时逐一发出其他帧。这允许您的应用程序显示图形,用于指示应用程序进入后台时的暂停状态。
Behavior in Background 选择用户按下主屏幕按钮时应用程序应执行的操作。
Custom 您可以使用后台处理来实现您自己的行为。有关示例,请参阅 BackgroundFetch Bitbucket 项目。
Suspend 暂停应用程序,但不退出。这是默认行为。
Exit 当用户按下主屏幕按钮时,让应用程序退出而不是暂停。

Variant map for app slicing 部分

展开 Variant map for app slicing 部分可查看脚本中配置的变体名称列表。有关变体的更多信息,请参阅应用程序切片

iOS 平台的变体配置设置
iOS 平台的变体配置设置

注意:如果未显示该部分,请确保已启用 Use on Demand Resource 属性。

可以使用加号 (+) 和减号 (-) 图标添加和删除新变体。还可以从列表中选择变体,并在 Variant settings 下查看或修改其设置:

设置 功能
Variant name 显示加载脚本中变体的名称。对于任何的这些设置,如果选择 Custom value_,则会在其下方显示一个附加属性,然后可在其中输入要使用的值。 | |设备|选择此变体所针对的设备。选项包括 Any_(默认值)、iPhoneiPadiWatchCustom value
Memory 选择此变体所需的最小内存。选项包括 Any_(默认值)、1GB2GB3GB4GB_ 和 Custom value
Graphics 选择要使用的 Metal 框架。选项包括 Any_(默认值)、Metal1v2Metal2v2Metal2v3Metal3v1Metal3v2Metal4v1_ 和 Custom value
Display color space 选择要使用的色域。选项包括 Any_(默认值)、sRGBDisplayP3_ 和 Custom value

也可以添加自己的设置。单击 Add custom entry 按钮,然后将出现一对新文本框。在显示 <key> 的框中输入设置的名称,并在显示 <value> 的框中输入要使用的值。

其他配置设置

iOS 平台的其他配置设置
iOS 平台的其他配置设置
设置 功能
Architecture 选择目标架构。
Universal 支持所有架构。这是建议的选项。
Armv7 仅支持较旧的 32 位 ARM 架构。
Arm64 仅支持较新的 64 位 ARM 架构。如果您的应用程序仅适用于高端设备,则可能需要考虑选择此选项。
x86_64 支持 x86_64 Intel 架构。对于 Simulator SDK__,这是唯一可用的架构。 | |Scripting Define Symbols||设置自定义编译标志。有关更多详细信息,请参阅平台相关的编译。| |Allow ‘unsafe’ Code|| 允许在预定义的程序集(例如,Assembly-CSharp.dll)中编译“不安全”的 C# 代码
对于程序集定义文件 (.asmdef),请单击其中一个 .asmdef 文件,并在出现的 Inspector 窗口中启用该选项。 | |
Active Input Handling|| 选择您希望如何处理来自用户的输入。 | ||Input Manager| 使用传统的 Input 设置。 | ||Input System (Preview)| 使用最新的输入系统。输入系统正在开发中。要试用输入系统的早期预览版,请安装 InputSystem 包。如果选择 Input System (Preview)__ 选项而没有安装该包,除了一些额外的处理之外,不会执行任何其他操作。
Both 并排使用两个系统。

Optimization

iOS 平台的 Optimization 设置
iOS 平台的 Optimization 设置
设置 功能
Prebake Collision Meshes 启用此选项可在构建时将碰撞数据添加到网格。
Keep Loaded Shaders Alive 启用此选项可防止卸载着色器。
Preloaded Assets 设置一个资源数组,供播放器在启动时加载。
要添加新资源,请增大 Size 属性的值,然后在出现的新 Element 框中设置对要加载的资源的引用。
AOT compilation options 提前 (AOT) 编译的附加选项。这有助于优化构建的 iOS 播放器的大小
Strip Engine Code 如果希望 Unity Linker 工具删除您的项目不使用的 Unity 引擎功能的代码,请启用此工具。此设置仅适用于 IL2CPP 脚本后端
大多数游戏都不会使用所有必需的 DLL。启用 Strip Engine Code 选项后,可以剥离掉未使用的部分以减小 iOS 设备上构建的播放器的大小。如果您的游戏使用的类通常会被您当前选择的选项删除,那么在进行构建时,将看到一条调试消息。
Managed Stripping Level 选择 Unity 剥离未使用的托管 (C#) 代码时的激进程度。
当 Unity 构建游戏或应用程序时,Unity Linker 进程可以从项目中使用的托管动态链接库中剥离未使用的代码。剥离代码可以使生成的可执行文件显著减小,但有时可能会错误地删除实际在使用的代码。此设置允许您选择 Unity 删除未使用代码时应采取的激进程度。
Normal 删除无法访问的托管代码以减少构建大小和 .NET/IL2CPP 构建时间。
Aggressive 比 Normal 选项更激进地删除代码。代码大小进一步降低,但这种额外降低可能会产生副作用。例如,某些方法可能在调试器中不再可见,并且可以剥离通过反射访问的代码。您可以创建自定义 link.xml 文件以保留特定的类和方法。有关更多信息,请参阅使用 IL2CPP 进行托管字节码剥离
Script Call Optimization 选择如何在运行时选择性地禁用异常处理以提高速度。有关详细信息,请参阅 iOS 优化
Slow and Safe 使用完整的异常处理(使用 Mono 脚本后端时会对设备的性能有一些影响)。
Fast but no Exceptions 不为设备上的异常提供数据(使用 Mono 脚本后端时游戏运行速度更快)。
注意:将此选项与 IL2CPP 脚本后端 一起使用不会影响性能;但是,使用此选项可以避免发布版本中出现未定义的行为。
Vertex Compression 设置每个通道的顶点压缩。例如,可以为除位置和光照贴图 UV 之外的所有内容启用压缩。为每个导入对象设置的整个网格压缩将覆盖在对象上设置顶点压缩。所有其他内容都遵循这些顶点压缩设置。
Optimize Mesh Data 启用此选项可从网格中删除应用于网格的材质不需要的所有数据(例如切线、法线、颜色和 UV)。

Logging

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

iOS 平台的 Logging 设置
iOS 平台的 Logging 设置

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

Legacy

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

iOS 平台的 Legacy 设置
iOS 平台的 Legacy 设置

XR Settings

独立平台播放器的 XR Settings
独立平台播放器的 XR Settings
设置 功能
Virtual Reality Supported 如果您的应用程序是虚拟现实应用程序,请启用此选项,然后将所需的 VR SDK 添加到列表中。
Virtual Reality SDKs 在列表中添加和删除虚拟现实 SDK。此列表仅在启用 Virtual Reality Supported 时可用。
要将 SDK 添加到列表中,请单击加号 (+) 按钮。
要从列表中删除 SDK,请选择它,然后单击减号 (-) 按钮。
某些 SDK 提供了额外设置,这些设置显示在此处。有关详细信息,请参阅 XR SDK
Stereo Rendering Mode 选择要为虚拟现实设备渲染的方式。
Multi Pass 这是正常的渲染模式。Unity 渲染场景两次:首先渲染左眼图像;然后再次为右眼图像。
Single Pass 将两个眼睛图像同时渲染到一个打包的渲染纹理中。这意味着整个场景只渲染一次,这大大减少了 CPU 处理时间。
Vuforia Augmented Reality Supported 启用此选项可以使用 Vuforia 增强现实 SDK,使用 Vuforia Virtual Reality SDK 时这是必需的。

XR Support Installers

独立平台播放器的 XR Settings
独立平台播放器的 XR Settings

可以单击 Vuforia Augmented Reality 链接来启用 Vuforia 软件开发包。必须拥有 Vuforia 软件许可证,并在启用 Vuforia Augmented Reality Supported 属性之前同意该许可证的条款。



  • 2018–08–16 页面已修订并进行了编辑审查

  • 在 5.5 版中添加了 Mute Other Audio Sources 选项

  • 在 Unity 2018.1 中更新了 iOS Player Settings 文档

  • 在 Unity 2018.1 中添加了 Allow ‘unsafe’ Code 复选框

  • 在 2018.1 版中添加了 .NET 4.x 运行时

  • 在 Unity 2018.3 中已弃用 .Net 3.5 脚本运行时 NewIn20183

  • 在 Unity 2018.3 中将 iOS 最低版本增加到 9 NewIn20183

iOS 硬件指南
iOS 2D 纹理覆盖