Version: Unity 6.0 (6000.0)
语言 : 中文
设置 UWP 的环境
以通用 Windows 平台为目标进行开发

UWP 玩家设置

要访问通用 Windows 平台 (UWP) 的玩家 (Player) 设置,请打开 Unity 的主菜单,选择 编辑 (Edit) > 项目设置 (Project Settings) > 玩家 (Player)。使用 玩家 (Player) 设置即可决定 Unity 如何构建和显示最终的应用程序。有关常规玩家 (Player) 设置项的描述,请参阅玩家设置

UWP 的玩家设置
UWP 的玩家设置

属性的文档根据播放器__ UI__(即用户界面,User Interface)让用户能够与您的应用程序进行交互。Unity 目前支持三种 UI 系统。更多信息
See in Glossary
中各自的部分进行分组:

图标

使用 图标 (Icon) 设置即可对您的应用程序在 Microsoft Store 中的商标进行自定义。

图标的设置项
图标的设置项

图标 (Icon) 分段会对需要认证但尚未分配的图像做出警告。UWP 应用程序必须指定作为软件包内容的图标和徽标图像,然后才能将其提交到 Microsoft Store。

注意:你还可以通过 API 选择图像的类型及大小。有关更多信息,请参阅 PlayerSettings.WSAImageTypePlayerSettings.WSAImageScale

展开 商店徽标 (Store Logo) 分段即可指定应用程序在商店描述页面上显示的图像。最多可以添加八种不同的分辨率。

图块

使用以下设置项即可自定义 Microsoft Store 图块的通用外观:

| 属性 | 描述 || | :——————– | :———————- | :———————– | | 缩略名称 (Short name) | 设置应用程序的缩略名称。 || | 显示名称 (Show name on) | 表示要显示名称的各种图标图像,选项包括:中型图块 (Medium Tile)大型图块 (Large Tile) 以及宽图块 (Wide Tile)。 || | 前景文本 (Foreground text) | 选择是否要在应用程序的图块上使用浅色 (Light)深色 (Dark) 文本。 || | 背景颜色 (Background color) | 指定背景使用的颜色。 || | 默认大小 (Default Size) | 选择图块的默认大小。 || | | 不设置 (Not Set) | 不使用默认大小。 | | | 中 (Medium) | 使用中等大小。 | | | 宽 (Wide) | 使用宽尺寸。 |

Unity 会将这些选项直接复制到 Package.appxmanifest 文件。

图块和徽标

使用以下设置项来指定您的图块在 Microsoft Store 中显示的图像:

属性 描述
方形 44x44 徽标 (Square 44x44 Logo) 设置一张 44x44 徽标图像以在应用程序的图块上使用。最多可以设置 10 个分辨率。
方形 71x71 徽标 (Square 71x71 Logo) 设置一张 71x71 徽标图像以在应用程序的图块上使用。最多可以设置 5 个分辨率。
方形 150x150 徽标 (Square 150x150 Logo) 设置一张 150x150 徽标图像以在应用程序的图块上使用。最多可以设置 5 个分辨率。
方形 310x310 徽标 (Square 310x310 Logo) 设置一张 310x310 徽标图像以在应用程序的图块上使用。最多可以设置 5 个分辨率。
宽形 310x150 徽标 (Wide 310x150 Logo) 设置一张 310x150 徽标图像以在应用程序的图块上使用。最多可以设置 5 个分辨率。

分辨率和展示

使用分辨率和展示 (Resolution and Presentation) f分段以自定义屏幕外观的各个方面。

分辨率和展示的设置项
分辨率和展示的设置项
属性 描述
默认为全屏 (Default is Full Screen) 将应用程序窗口设置为原生的全屏显示分辨率。覆盖整个屏幕。此模式也被称为无边框全屏。Unity 会以脚本设置的分辨率渲染应用程序内容。如果未设置分辨率,则会以原生的显示分辨率渲染,并进行缩放以填充窗口。缩放时,Unity 会为渲染的输出添加黑边,以匹配显示器的宽高比,从而防止出现内容拉伸。这一过程称为黑边
在后台运行 (Run In Background) 表示是否在应用程序失去焦点时让游戏继续运行(而不是暂停)。
允许全屏切换 (Allow Fullscreen Switch) 表示是否允许通过操作系统的默认全屏按键在全屏模式和窗口模式之间进行切换。
透明交换链 (Transparent Swapchain) 表示是否将交换链上的 AlphaMode 设置为 DXGI_ALPHA_MODE_PREMULTIPLIED。

此设置仅针对使用 XAML 构建类型的 UWP 项目。启用此设置后,你就可以对 Unity 内容与应用程序中的其他 XAML 内容进行合成。

更多信息请参阅 PlayerSettings.WSA.transparentSwapchain

方向

属性 描述
默认方向 指定应用程序窗口在设备屏幕中的方向。

注意:Unity 会将此设置的值同步应用于 Android、iOS 和 UWP 平台。
Portrait 应用程序的底部与屏幕底部对齐。
Portrait Upside Down 应用程序的底部与屏幕顶部对齐。
Landscape Right 应用程序的右侧与屏幕顶部对齐。
Landscape Left 应用程序的左侧与屏幕顶部对齐。
Auto Rotation 屏幕会根据自动旋转支持的方向 中指定的方向自动旋转。

自动旋转的允许方向

使用 自动旋转的允许方向 (Allowed Orientations for Auto Rotation) 分段,即可在 默认方向 (Default Orientation)自动旋转 (Auto Rotation) 时,规定应用程序支持的方向。例如,这可用于将应用程序锁定为横向,但允许用户在左侧横向和右侧横向之间进行切换。

注意:此分段仅在 方向 (Orientation) 分段中的 默认方向 (Default Orientation) 被设为 自动旋转 (Auto Rotation) 时才可见。

属性 描述
Portrait 允许应用以竖屏模式运行,且应用底部与屏幕底部对齐。
Portrait Upside Down 允许应用以竖屏模式运行,且应用底部与屏幕顶部对齐。
Landscape Right 允许设备以横向模式运行,应用程序的右侧与屏幕顶部对齐。
Landscape Left 允许设备以横向模式运行,应用程序的左侧与屏幕顶部对齐。

启动图像

位于 通用启动画面 (common Splash Screen) 设置上方的是 玩家设置 (Player Settings),让你能规定 UWP 的启动画面。

启动画面设置
启动画面设置

通过 虚拟现实启动图像 (Virtual Reality Splash Image) 属性即可选择会在虚拟现实 (Virtual Reality) 显示器中显示的自定义启动图像。

在通用 Splash Screen 设置下方,还有一些其他部分:

窗口

设置应用程序启动画面中使用的前景图像。最多可以添加七种不同的分辨率。

Windows 启动画面设置
Windows 启动画面设置

窗口全息图

使用这些设置可自定义混合现实应用程序的全息图启动画面。

窗口全息启动画面设置
窗口全息启动画面设置

设置会启动期间显示的全息启动图像 (Holographic Splash Image)。此图像会显示五秒钟(或直到应用程序完成加载)。

跟踪丢失

混合现实头盔需要根据其环境构建世界锁定坐标系才能使全息图保持原位。当头盔丢失其在世界中的位置(即无法定位自身)时,就会发生跟踪丢失。这将导致空间系统(空间映射、空间锚点、空间阶段)的破坏。

发生这种情况时,Unity 会停止渲染全息图、暂停游戏并显示通知。启用 跟踪丢失时暂停并显示图像 (On Tracking Loss Pause and Show Image) 属性即可自定义这时显示的通知,然后通过 跟踪丢失图像 (Tracking Loss Image) 属性选择要显示的图像。

更多信息请参阅 Unity 推荐设置

覆盖背景颜色

应用程序初始化时,UWP 会在 Made with Unity 启动画面之前显示另一个启动画面。最好将 UWP 的启动画面背景与启动画面图像相匹配,因为这在视觉上更具吸引力。默认颜色为黑色。

要覆盖 UWP 特定的启动画面背景颜色:

  1. 转到 玩家设置 (Player Settings) > 启动画面 (Splash Screen) 并启用 覆盖背景颜色 (Overwrite Background Color)
  2. 背景颜色 (Background Color) 选择器中选择一个颜色。

如果覆盖了默认背景颜色,那么 Unity 会更改应用程序清单中颜色的值。如果使用 XAML 应用程序类型,Unity 还会在初始的 XAML 页面中设置颜色的值。

覆盖背景颜色的启动画面设置项
覆盖背景颜色的启动画面设置项

其他设置

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

渲染

使用以下设置项即可自定义 Unity 针对 UWP 渲染游戏的方式。

渲染的设置项
渲染的设置项
属性 描述
Color Space 选择要用于渲染的颜色空间。有关更多信息,请参阅线性渲染概述
Gamma Gamma 颜色空间通常用于帧缓冲区格式的每通道限制为 8 位的旧硬件上的光照计算。即使当今的监视器是数字显示器,它们仍会采用伽马编码信号作为输入信号。
Linear 线性颜色空间渲染可提供更精确的结果。选择线性颜色空间时,编辑器默认启用 sRGB 采样。如果纹理 处于线性颜色空间,则需要在编辑器中禁用每个纹理的 sRGB 采样。
MSAA 回退 (MSAA Fallback) 选择多重取样抗锯齿回退策略,以便在设备不支持用户要求的样本数量时,对样本数量进行升级或降级。
升级 (Upgrade) 将样本数量降低为最接近的受支持样本数量。
降级 (Downgrade) 将样本数量增加为更高一级的样本数量。如果不支持该样本数量,则降低为最接近的受支持样本数量。
自动图像 API (Auto Graphics API) 表示是否手动选择并重新排序图形 API。此选项默认启用,且 Unity 会使用 Direct3D11。
Static Batching 启用此选项可使用静态批处理
Dynamic Batching 在构建中启用动态批处理(默认情况下启用)。

注意:可编程渲染管线 处于激活状态时,动态批处理将无效。因此,仅当 可编程渲染管线资源图形 设置为空时,此设置才会显示。
精灵批处理阈值 (Sprite Batching Threshold) 控制批处理时使用的最大顶点阈值。
GPU 计算蒙皮 (GPU Compute Skinning) 表示是否使用 DX11/DX12/ES3 GPU 蒙皮。
Graphics Jobs 启用此选项后,Unity 会将图形任务(渲染循环)分配到其他 CPU 核心上运行的工作线程中。此功能可以减少主线程中 Camera.Render 的执行时间,而这一环节通常是性能瓶颈所在。
Lightmap Encoding 定义影响光照贴图的编码方案和压缩格式。
您可以选择 Low QualityNormal QualityHigh Quality
HDR 立方体贴图编码 (HDR Cubemap Encoding) 定义 HDR 立方体贴图的编码方案和压缩格式。
您可以选择 Low QualityNormal QualityHigh Quality。有关更多信息,请参阅 光照贴图:技术信息
Lightmap Streaming 启用此选项可对光照贴图使用Mipmap 串流。Unity 在生成所有光照贴图时将此设置应用于这些光照贴图。
注意:要使用此设置,必须启用纹理 Mipmap 串流质量 设置。
Streaming Priority 设置 Mipmap 串流系统 中所有光照贴图的优先级。Unity 在生成所有光照贴图时将此设置应用于这些光照贴图。
数值越大,优先级越高。有效值范围为 -128127
Frame Timing Stats 启用此属性可使用 FrameTimingManager API 收集 CPU 和 GPU 帧时序数据。如果禁用此属性,动态分辨率 摄像机设置将无法利用这些数据动态调整分辨率,以降低 GPU 负载。
允许 HDR 显示输出 在应用程序运行时启用 HDR 模式输出。此设置仅适用于支持该功能的显示屏。如果显示屏不支持 HDR 模式,则游戏将在标准模式下运行。
Use HDR Display Output 检查主显示器是否支持 HDR,如果支持,则在应用程序启动时切换到 HDR 输出。

注意:此选项仅在启用允许 HDR 显示输出时可用。
Swap Chain Bit Depth 选择交换链缓冲区中每个颜色通道的位深度。仅在启用 HDR 模式时可用。
Bit Depth 10 Unity 使用 R10G10B10A2 缓冲区格式,搭配 Rec2020 色域,并采用 ST2084 PQ 编码。
Bit Depth 16 Unity 使用 R16G16B16A16 缓冲区格式,搭配 Rec709 色域,并采用线性颜色空间(无编码)。
虚拟纹理(实验性)(Virtual Texturing (Experimental)) 如果场景包含大量高分辨率纹理,可降低 GPU 内存占用和纹理加载时间。有关更多信息,请参阅 虚拟纹理
注意:需要重新启动 Unity 编辑器才能使此功能生效。
360° 立体捕获 (360 Stereo Capture) 表示 Unity 是否可以捕获立体的 360° 图像和视频。启用后,Unity 会编译额外的着色器变体,以支持 360° 捕获(目前仅支持 Windows/OSX)。enable_360_capture 关键字于 RenderToCubemap 调用期间被添加,但不会在此函数外被触发。
加载/存储操作调试模式 (Load/Store Action Debug Mode) 突出显示可能导致移动平台上渲染问题的未定义像素。这会影响 Unity 编辑器中的游戏视图,并且如果在构建设置中选择了 Development Build,也会影响构建好的应用程序。请参阅 LoadStoreActionDebugModeSettings 以了解更多信息。
仅限编辑器 指示“加载/存储操作调试模式”是否仅在 Unity 编辑器中运行。

注意:此属性仅在“加载/存储操作调试模式”启用时可见。

配置

配置的设置项
配置的设置项
属性 描述
脚本后端 (Scripting Backend) 脚本后端决定了 Unity 在项目中编译和执行 C# 代码的方式。通用 Windows 平台的此设置默认为 IL2CPP,且无法更改。
API Compatibility Level 选择项目中可以使用的 .NET API 版本。此设置可能会影响与第三方库的兼容性。但是,它对编辑器特定的代码(编辑器目录中的代码或编辑器特定的程序集定义中的代码)没有影响。

提示:如果您遇到第三方程序集的问题,可以尝试下文的 API 兼容性级别 部分中的建议。
.Net Framework 兼容 .NET Framework 4(包含 .NET Standard 2.0 配置文件中的所有内容以及额外的 API)。当使用的库需要访问 .NET Standard 2.0 中未包含的 API 时,请选择此选项。此选项会生成较大的构建文件,并且额外的 API 可能不被所有平台支持。更多信息,请参阅引用其他类库程序集
.Net Standard 2.1 生成较小的构建文件,并提供完整的跨平台支持。
编辑器程序集兼容性级别 选择在编辑器程序集中使用的 .NET API。
.NET Framework 兼容 .NET Framework 4(包含 .NET Standard 2.1 中的所有 API 以及额外的 API)。当使用的库需要访问 .NET Standard 2.1 未涵盖的 API 时,选择此选项。此选项会生成较大的构建文件,并且额外的 API 可能不被所有平台支持。更多信息,请参阅引用其他类库程序集
.NET Standard 兼容 .NET Standard 2.1。生成较小的构建文件,并提供完整的跨平台支持。
IL2CPP 代码生成 (IL2CPP Code Generation) 定义 Unity 对 IL2CPP 代码生成的管理方式。
更快的运行时 (Faster runtime) 生成针对运行时性能进行优化的代码。默认情况下会启用此设置。
更快(更小)的构建 (Faster (smaller) builds) 生成针对构建大小和迭代进行优化的代码。此设置生成的代码更少、构建更小,但可能会降低运行时性能,尤其是对于通用代码而言。当需要更快的构建时间(如迭代更改)时,请使用此选项。
C++ 编译器配置 (C++ Compiler Configuration) 选择在编译 IL2CPP 生成的代码时使用的 C++ 编译器配置。

注意: 此属性对通用 Windows 平台禁用,因为此属性会在生成的 Visual Studio 项目中被选择。
IL2CPP Stacktrace 信息 选择要在堆栈跟踪中包含的信息类型。有关信息类型的更多详细信息,请参阅使用 IL2CPP 的托管堆栈跟踪
方法名称 在堆栈跟踪中包含每个托管方法的名称。
方法名称、文件名和行号 在堆栈跟踪中包含每个托管方法的名称、文件名和行号信息。

注意:启用此选项可能会增加构建时间和最终程序的体积。
Use incremental GC 启用增量式垃圾回收器,该功能可将垃圾回收任务分散到多个帧中,从而减少因垃圾回收导致的帧时间峰值。更多信息,请参阅自动内存管理
Allow downloads over HTTP (nonsecure) 表示是否允许通过 HTTP 下载内容。由于建议的协议为 HTTPS,因此默认选项为 Not allowed,这样更安全。
不允许 不允许通过 HTTP 下载。
创建开发版 仅允许在开发版中通过 HTTP 下载。
始终允许 允许在开发和发布版本中通过 HTTP 下载。
加速度计频率 (Accelerometer Frequency) 定义对加速度计进行取样的频率。如果选择 禁用 (Disabled),则不会进行取样。否则,可以选择 15Hz30Hz60Hz 以及 100Hz 的频率。
Active Input Handling 选择如何处理来自用户的输入。
Input Manager(旧版) 使用传统的输入 设置。
输入系统包(新版) 使用输入 系统。此选项需要您安装 InputSystem 包
Both 同时使用这两个系统。

API 兼容性级别

可为所有目标选择 mono API 兼容性级别。有时,第三方 .NET 库会使用超出 .NET 兼容性级别的功能。要了解这种情况以及修复问题的最佳方案,请尝试遵循以下建议:

  1. 安装针对 Windows 的 ILSpy
  2. 将存在问题的 API 兼容性级别所对应的 .NET 程序集拖入 ILSpy。具体位置见 Data/MonoBleedingEdge/lib/mono/YOURSUBSET/
  3. 拖入第三方程序集。
  4. 右键点击第三方程序集并选择分析 (Analyze)
  5. 在分析报告中,检查 **依赖项 (Depends on) ** 小节。报告会用红色字体突出显示第三方程序集所依赖、但在您选择的 .NET 兼容性级别中不可用的内容。

着色器设置

属性 描述
Shader Precision Model 选择着色器使用的默认精度。有关更多信息,请参阅在着色器中使用 16 位精度
平台默认值 在移动平台上使用较低的精度,在其他平台上使用全精度。
统一 如果平台支持,请使用较低的精度。
严格的着色器变体匹配 (Strict shader variant matching) 启用此选项后,如果在播放器构建中缺少着色器变体,将使用错误着色器进行渲染,并在控制台中显示错误。错误信息会明确指出着色器变体搜索所使用的着色器、子着色器索引、通道以及关键字
Keep Loaded Shaders Alive 保持所有加载的着色器处于活动状态,防止其被卸载。

着色器变体加载设置 (Shader Variant Loading Settings)

使用这些设置可以控制着色器在运行时的内存使用量。

属性 描述
Default chunk size (MB) 设置 Unity 在构建的应用程序中为所有平台存储的压缩着色器变体数据块的最大大小。默认值为 16。有关更多信息,请参阅着色器加载
Default chunk count 设置 Unity 在所有平台上保留在内存中的解压缩块数量的默认限制。默认值为 0,表示无限制。
Override 启用此选项可为此构建目标覆盖__默认块大小__和__默认块数量__的设置。
Chunk size (MB) 覆盖此构建目标上的__默认块大小 (MB)__ 值。
Chunk count 覆盖此构建目标上的__默认块数量__值。

脚本编译

脚本编译的设置项
脚本编译的设置项
属性 描述
Scripting Define Symbols 设置自定义编译标志。

有关更多详细信息,请参阅平台相关的编译
其他编译器参数 向此列表添加条目,以将附加参数传递给 Roslyn 编译器。每个附加参数使用一个新条目。
要创建新条目,请点击 Add (+)。要删除条目,请点击 Remove-)。

添加完所有所需参数后,点击 Apply,以便在后续编译中包含这些附加参数。点击 Revert 可将此列表重置为最新应用的状态。
禁止常见警告 指示是否显示 C# 警告 CS0169CS0649
Allow ‘unsafe’ Code 启用对预定义程序集(例如,Assembly-CSharp.dll)中“不安全”C# 代码的编译支持。
对于程序集定义文件 (.asmdef),请选中其中一个 .asmdef 文件,并在打开的检视面板窗口中启用该选项。
使用确定性编译 指定是否禁用 -deterministic C# 编译标志。启用此设置后,每次编译生成的程序集在字节级别上完全一致。

有关更多信息,请参阅 C# 编译器选项:控制代码生成

优化

优化的设置项

属性 描述
Prebake Collision Meshes 在构建时将碰撞数据添加到网格
Preloaded Assets 设置一个资源数组,供播放器在启动时加载。
要添加新资源,请增加 Size 属性的值,随后在新出现的 Element 槽位中设置要加载的资源引用。
Managed Stripping Level 选择 Unity 剥离未使用托管 (C#) 代码时的激进程度。在构建应用程序时,Unity Linker 进程可以从项目使用的托管 DLL 中剥离未使用的代码。剥离代码可以显著减小生成的可执行文件大小,但也可能会错误地删除正在使用的代码。

有关这些选项以及使用 IL2CPP 进行字节码剥离的更多信息,请参阅 ManagedStrippingLevel
最低 剥离类库、UnityEngine 和 Windows 运行时程序集,并复制所有其他程序集。
删除无法访问的托管代码以减少构建大小和 Mono/IL2CPP 构建时间。
运行 UnityLinker,进一步减小代码大小,超越 Low 级别所能实现的效果。可能需要使用自定义的 link.xml 文件,某些反射代码路径的行为可能会有所不同。
UnityLinker 将尽可能多地剥离代码这将进一步减小代码大小,超出 Medium 可以实现的效果,但某些方法的托管代码调试可能不再有效。可能需要使用自定义的 link.xml 文件,某些反射代码路径的行为可能会有所不同。
Vertex Compression 设置每个通道的顶点压缩。此设置会影响项目中的所有网格。
通常,顶点压缩用于减小网格数据在内存中的占用、减小文件大小,并提升 GPU 性能。

有关顶点压缩的配置方法及其限制的详细信息,请参阅压缩网格数据
Optimize Mesh Data 启用此选项可从用于构建的网格中移除未使用的顶点属性。此功能可减少网格数据量,从而有助于减小构建文件大小、缩短加载时间以及降低运行时内存占用。

警告:如果启用此选项,请勿在运行时更改材质或着色器设置。

有关更多信息,请参阅 PlayerSettings.stripUnusedMeshComponents
纹理 Mipmap 剥离 为所有平台启用 Mipmap 剥离功能。在构建过程中,Unity 会从纹理中剥离未使用的 Mipmap 级别。
Unity 通过将 Mipmap 级别与当前平台的质量设置进行比较,以确定哪些 Mipmap 级别未被使用。如果在当前平台的所有质量设置中都排除了某个 Mipmap 级别,Unity 会在构建时将这些 Mipmap 级别剥离。如果 QualitySettings.globalTextureMipmapLimit 被设置为一个已剥离的 Mipmap 级别,Unity 会将其值调整为最近的未剥离的 Mipmap 级别。

堆栈跟踪

选择在特定上下文中允许哪种类型的堆栈跟踪记录。

堆栈跟踪的设置项
堆栈跟踪的设置项

根据所需的日志记录类型,启用与每种日志类型(ErrorAssertWarningLogException)对应的选项,以选择首选的堆栈跟踪方法。有关更多信息,请参阅堆栈跟踪日志记录。

属性 描述
从不记录任何日志。
ScriptOnly 仅在运行脚本时记录日志。
Full 始终记录日志。

旧版

启用钳制 BlendShapes(已弃用)(Clamp BlendShapes (Deprecated)) 以限制 SkinnedMeshRenderers 中的混合形状权重范围。

旧版的设置项
旧版的设置项

发布设置

使用下列设置即可自定义 UWP 应用程序的构建。选项分以下组:

首次创建 Visual Studio 解决方案时,Unity 会将这些设置存储在 Package.appxmanifest 文件中。

注意:注意:如果您以现有项目为基础构建新项目,那么 Unity 将不会覆盖已存在的 Package.appxmanifest 文件。这意味着如果您对 玩家 (Player)设置做了任何更改,那么您都需要检查 Package.appxmanifest。如果要重新生成 Package.appxmanifest,请将其删除并用 Unity 重新构建项目。

更多信息请参阅 Microsoft 关于应用包清单的文档。

玩家设置 (Player Settings) 中支持的方向 (Supported orientations) 也被包含在了清单中(即Visual Studio 解决方案的 Package.appxmanifest 文件)。针对 UWP 应用程序,Unity 会将方向重置为您在 玩家 (Player) 设置中使用的方向,不论您在清单中指定的内容为何。这是因为 Windows 本身将忽略台式机和平板电脑上的这些设置。

提示:您始终可通过 Unity 的脚本编写 API 来更改支持的方向。

封装

封装的设置项
封装的设置项
属性 描述
包名称 (Package name) 输入用于在系统中标识包的名称。名称必须唯一。
包显示名称 (Package display name) 产品名称 (Product Name)的值,由玩家 (Player) 设置决定,在此处显示。即应用程序在 Microsoft Store 中显示的名称。
版本 (Version) 以四位表示法格式的字符串表示的包版本:Major.Minor.Build.Revision
发布者显示名称 (Publisher display name) 公司名称 (Company Name) ** 的值,由玩家 (Player) 设置决定,在此处显示。即发布者的用户友好名称。 | | 流送安装 (Streaming Install)** 启用此选项以创建包含场景可流送资产的 AppxContentGroupMap.xml 清单文件。要默认包含场景资产,请使用最后请求的场景索引 (Last required scene index)设置。在清单文件中,场景索引大于最后请求的场景索引 (Last required scene index)值的场景中资产将被指定为可串流。
最后请求场景索引 (Last required scene index) 输入 构建设置 (Build Settings) 窗口构建中场景 (Scenes In Build)列表中的索引编号,该编号对应列表中必须存在于游戏构建中的最后一个场景。要启动应用程序,Unity 要求所有场景索引等于或小于指定索引。要要求列表中的所有文件,请使用列表中最后一个场景的索引。
场景索引较大的场景必须包含索引较小场景的共享资产。构建设置 (Build Settings) 对话框中的场景顺序对于让应用程序定位所需资产而言非常重要。

注意:流式安装 (Streaming Install) 选项默认禁用,意味着此设置不可用。要使此属性可编辑,请先启用 流式安装 (Streaming Install)选项。

###证书 (Certificate)

每款 UWP 应用程序都需要一份标识了开发者的证书。使用下列设置以选择计算机中保存的证书文件,或在无可用文件时进行创建。

创建证书前后的证书设置项
创建证书前后的证书设置项
属性 描述
发布者 (Publisher) 显示软件包发布者的名称。例如,DefaultCompany
发行者 (Issued by) 显示软件包发行者的名称。与 发布者 (Publisher) 设置项中输入的发布者名称相同。
截止日期 (Expiration date) 显示证书的到期日期,即证书创建之日起的一年后。
选择 (Select) 让您从本地计算机选择证书文件(.pfx)。所选文件的名称将被显示在 选择 (Select) 窗口中。
创建 (Create) 如果没有现存证书文件,则允许您创建证书。选择 创建 (Create) 后会显示 创建 Microsoft Store 的测试证书 (Create Test Certificate for Microsoft Store) 对话框,其中包含的字段如下。
发布者 (Publisher) 输入软件包发布者的名称。
密码 (Password) 输入密码以保护证书文件。此字段为可选字段,建议空置。
确认密码 (Confirm password) 重新输入用于保护证书文件的密码。

应用程序 UI

使用此分段提供在 Microsoft Store 中显示的应用程序描述。Unity 会将这些选项直接复制到 Package.appxmanifest 文件。

UWP 的应用程序 UI 设置
UWP 的应用程序 UI 设置
属性 描述
显示名称 (Display name) 显示您在 玩家设置 (Player Settings) 窗口中设定的 产品名称 (Product Name) 的值。即应用程序的全名。
描述 (Description) 输入在 Microsoft Store 的应用程序图块上显示的文本。默认为 产品名称 (Product Name) 的值。

文件和协议关联

文件类型关联 (File Type Associations)文件类型 (File Types) 以及协议 (Protocol) 分段下的设置允许您将自己的 Microsoft Store 应用程序设为特定文件类型或 URI 方案的默认处理程序。

UWP 的文件类型关联和协议分段
UWP 的文件类型关联和协议分段

文件类型关联设置

属性 描述
名称 (Name) 输入一组文件类型的名称。这些文件共享相同的显示名称、徽标、信息提示和编辑标记。请选择可在应用程序更新中保持不变的组名称。

注意:仅限使用小写字母。

文件类型设置

属性 描述
添加新类型 (Add New) 允许添加多种文件类型并设置文件关联。要与此按钮交互,必须先指定文件类型组的名称。选择 添加新类型 (Add New) 后将显示以下属性。
添加新类型 (Add New) 输入特定文件类型的 MIME 内容类型。例如,image/jpeg
文件类型 (File Type) 输入要注册的文件类型,以句点开头。例如,.jpeg

协议设置

属性 描述
名称 (Name) 输入协议名称并设置与 URI 方案的关联。

更多信息请参阅 Microsoft 文档的使用文件和 URI 关联 (XAML) 自动启动

###杂项

Unity 通过订阅事件来接收输入。输入源 (Input Source) 设置决定了从哪里(哪些来源)获取输入。目前仅适用于鼠标和触摸输入,因为键盘输入始终来自于CoreWindow

UWP 的杂项设置
UWP 的杂项设置

| 属性 | 描述 | | | :——————– | :———————- | :———————– | | 默认语言 (Default Language) (.vcxproj) | 在生成的 Visual Studio 项目中设置 XML 默认语言。如果未指定,则使用“en-US”。
注意:更改仅适用于初始的文件生成阶段,现存文件不会受更改的影响。 || | 输入源 (Input Source) | 定义要从哪些源接收输入。目前仅适用于鼠标和触摸输入,因为键盘输入始终来自于CoreWindow。 || | | CoreWindow | 订阅 CoreWindow 事件。此为默认值。 | | | 独立输入源 (Independent Input Source) | 创建独立输入源并从中接收输入。 | | | SwapChainPanel | 订阅 SwapChainPanel 事件。 |

###功能 使用功能 (Capabilities) 分段来启用您的应用程序可访问的 API 或资源。这些东西可以是图片、音乐或诸如摄像头或麦克风的设备等。

UWP 的功能设置
UWP 的功能设置
属性 描述
EnterpriseAuthentication Windows 域凭据使用户能够使用其凭据登录远程资源,等同于用户提供了用户名和密码。
InternetClient 让应用程序从互联网接收传入数据。不能充当服务器。无法访问局域网。
InternetClientServer InternetClient 相同,但也启用了点对点 (P2P) 方案,其中应用程序需要监听传入的网络连接。
MusicLibrary 访问用户的音乐,允许应用程序枚举和访问库中的所有文件,且无需用户交互。此功能通常用于那些使用整个音乐库的音乐播放器应用程序。
PicturesLibrary 访问用户的图片,允许应用程序枚举和访问库中的所有文件,且无需用户交互。此功能通常用于那些使用整个图片库的照片应用程序。
PrivateNetworkClientServer 通过防火墙提供对家庭和工作网络的入站和出站访问。此功能通常用于通过局域网 (LAN) 进行通信的游戏,以及在不同本地设备之间共享数据的应用程序。
RemovableStorage 访问可移动存储设备(如 U 盘和外部硬盘驱动器)上的文件。
SharedUserCertificates 允许应用程序通过共享用户存储来添加和访问基于软件和硬件的证书,例如存储在智能卡中的证书。此功能通常用于那些需要智能卡进行身份验证的金融类或企业级应用程序。
VideosLibrary 访问用户的视频,从而允许应用程序枚举和访问库中的所有文件,且无需用户交互。此功能通常用于那些使用整个视频库的影片播放应用程序。
WebCam 访问内置摄像机或外部网络摄像头提供的视频输入,从而让应用程序能够捕获照片和视频。
注意:仅允许访问视频流送。要授予对音频流送的访问权限,还必须添加 麦克风 (Microphone) 功能。
距离 (Proximity) 使近距离的多台设备能够相互通信。此功能通常用于多人休闲游戏和进行信息交换的应用程序。设备会尝试使用提供最佳连接的通信技术,包括蓝牙、Wi-Fi 和 互联网等。
麦克风 (Microphone) 访问麦克风的音频输入源,这将允许应用程序通过连接的麦克风来录音。
位置 (Location) 访问从专用硬件(如 PC 中的 GPS 传感器)或从可用的网络信息中获取的位置功能。
HumanInterfaceDevice 允许访问人机接口设备 API。更多信息请参阅如何为 HID 指定设备功能
AllJoyn 允许网络上支持 AllJoyn 的应用程序和设备发现彼此并进行交互。
BlockedChatMessages 允许应用程序读取已被垃圾邮件过滤器应用程序阻止的短信和彩信。
Chat 允许应用程序读写所有短信和彩信。
CodeGeneration 允许应用程序访问下列函数,从而为应用程序提供 JIT 功能:
VirtualProtectFromApp
CreateFileMappingFromApp
OpenFileMappingFromApp
MapViewOfFileFromApp
Objects3D 允许应用程序以编程方式访问 3D 对象文件。此功能通常用于需要访问整个 3D 对象库的 3D 应用程序和游戏。
PhoneCall 允许应用程序访问设备上的所有电话线路并执行以下功能。
在电话线路上发送呼叫并显示系统拨号器,且不提示用户。
访问与线路相关的元数据。
访问与线路相关的触发器。
允许用户选择的广告过滤应用程序设置并检查屏蔽列表,并呼叫来源信息。
UserAccountInformation 访问用户的姓名和图片。
VoipCall 允许应用程序访问 Windows.ApplicationModel.Calls 命名空间中的 VOIP 调用 API。
蓝牙 (Bluetooth) 允许应用程序通过通用属性 (GATT) 或经典基本速率 (RFCOMM) 协议与已配对的蓝牙设备进行通信。
SpatialPerception 提供对空间映射数据的编程访问,为混合现实应用程序提供有关用户附近空间区域(由应用程序指定)中某些表面的信息。仅当您的应用程序将明确使用这些表面网格时才声明 spatialPerception 功能,因为混合现实应用程序在根据用户头部姿势执行全息渲染时并不需要该功能。
InputInjectionBrokered 允许应用程序以编程方式将各种形式的输入(如 HID、触摸、笔、键盘或鼠标)注入系统。此功能通常用于可以控制系统的协作应用程序。
日程 (Appointments) 访问用户的日程存储。此功能允许读取从同步网络帐户获取的日程,还允许读取向日程存储写入内容的其他应用程序。借助此功能,您的应用程序可以创建新日历并将日程写入其创建的日历。
BackgroundMediaPlayback 更改针对媒体的 API(如 MediaPlayerAudioGraph 类)的行为,从而在应用程序处于后台时启用媒体播放。所有活动的音频流将不再处于静音状态,而是在应用程序切换至后台时继续发出声音。此外,在播放进行时,应用程序的生命周期将自动延长。
联系人 (Contacts) 访问来自各个联系人存储的联系人聚合视图。此功能使应用程序能够有限制地访问(适用网络许可规则)从各种网络和本地联系人存储中同步的联系人。
LowLevelDevices 允许应用程序在满足许多其他要求时访问自定义设备。
OfflineMapsManagement 允许应用程序访问离线地图。
PhoneCallHistoryPublic 允许应用程序从设备上读取手机和某些 VOIP 通话的记录信息。此功能还允许应用程序写入 VOIP 通话记录条目。
PointOfService 允许访问 Windows.Devices.PointOfService 命名空间中的 API。此命名空间允许您的应用访问服务点 (POS) 条形码扫码器和磁条读取器。此命名空间提供了不依赖供应商的接口,从而实现通过 UWP 应用程序访问来自不同制造商的 POS 设备。
RecordedCallsFolder 允许应用程序访问通话录音文件夹。
RemoteSystem 允许应用程序访问与用户的 Microsoft 账号关联的设备列表。必须访问设备列表才能执行任何跨设备的操作。
SystemManagement 允许应用程序拥有基本的系统管理权限,例如关闭或重新启动、区域设置和时区。
UserDataTasks 允许应用程序访问任务设置的当前状态。
UserNotificationListener 允许应用程序访问通知设置的当前状态。
GazeInput 允许应用程序在连接兼容的眼球跟踪设备时,检测用户注视的位置。

更多信息请参阅应用功能声明

Unity 会将这些选项直接复制到 Package.appxmanifest 文件。

注意:如果你以先前的包为基础构建游戏,则 Package.appxmanifest 不会被覆盖。

支持的设备系列

设备系列能标识某一类设备的 API、系统特征和行为。它还决定了可以从应用商店安装应用程序的设备总集。更多信息请参阅 Microsoft 的设备系列概述

如果未启用任何选项,则默认使用 Windows.Universal,并使您的应用程序在所有设备系列上都可用。您还可以通过 API 的 PlayerSettings.WSATargetFamily 参数,而不是在编辑器中进行此设置。

注意:这些设置仅限在生成新的 UWP Visual Studio 解决方案时使用。如果将 UWP 重新构建到现有文件夹,则对这些设置进行的更改将不会生效。

UWP 支持的设备系列
UWP 支持的设备系列
属性 描述
桌面端 (Desktop) 表示您的应用程序是否支持桌面端 (Desktop) 设备系列。
移动端 (Mobile) 表示您的应用程序是否支持移动端 (Mobile) 设备系列。
全息图像 (Holographic) 表示您的应用程序是否支持全息透镜 (HoloLens)(独立全息计算机)设备系列。适用于混合现实应用程序。
团队 (Team) 表示应用程序是否支持团队 (Team) 设备系列。通常用于 Microsoft Surface Hub 设备。
IoT 表示应用程序是否支持物联网 (IoT) 设备系列。

注意:目前,面向物联网的应用在应用商店中无效,应仅用于开发目的。
IoTHeadless 表示应用程序是否支持 IoTHeadless 设备系列。

注意:目前,面向 IoTHeadless 的应用程序在应用商店中无效,应仅用于开发目的。

更多信息请参阅设备系列可用性

PlayerSettingsWSA

设置 UWP 的环境
以通用 Windows 平台为目标进行开发