Version: Unity 6.0 (6000.0)
语言 : 中文
Unity 6 中的新功能
Unity 2023.2 中的新功能

Unity 6 预览版中的新功能

了解自 2023.2 以来 Unity 6 预览版中的变化,并查看有关受影响区域的文档。

要了解有关此 Unity 版本的新功能、更改和改进的更多信息,请参阅 Unity 6 预览版发行说明

要查找其他版本的发行说明,请参阅 Unity 下载存档

如果要将现有项目从 2023.2 升级,请阅读 Unity 6 预览版升级指南以了解项目可能受到的影响

编辑器和工作流程

  • 新增了穿透菜单,可用于选择与其他__ GameObject__Unity 场景中的基础对象,可以表示角色、道具、风景、摄像机、路径点等。GameObject 的功能由所附的组件决定。更多信息
    See in Glossary
    重叠的 GameObject。要打开穿透菜单,请在场景视图中按住 Ctrl+右键单击。穿透菜单在光标下显示所有可选择 GameObject 的列表。
  • 在 Steam ID Provider 编辑器设置中新增了 Additional App IDs 以支持 Multiple App ID。
  • 引入了构建配置文件为每个目标平台创建多个自定义构建配置。 
  • “构建配置文件诊断 (Build Profile Diagnostic)”复选框不再可用,因为“构建设置 (Build Settings)”窗口已替换为“构建配置文件 (Build Profile)”窗口。
  • 集成了新的构建配置文件图标。
  • 修改了创建 (Create) 菜单,将 C# Script 菜单项替换为三个单独的选项:
    • MonoBehaviour 脚本 (MonoBehaviour Script)
    • ScriptableObject 脚本 (ScriptableObject Script)
    • 空白脚本 (Blank Script)
  • 改进了创建 (Create) 菜单以减少菜单根目录的项数。菜单现在按字母顺序排列,现在几乎所有项都在一个类别中。

UI 工具包

  • 新增了缺失的 UxmlAttribute 转换器以支持 UXML 创作:GradientAnimationCurveToggleButtonGroupState、Unsigned Int 和 Unsigned Long。
  • PropertyField 中新增了对 ToggleButtonGroupState 序列化属性的支持。
  • 原生文本生成器重写。借助文本生成器,您可以使用各种语言和脚本,例如阿拉伯语、希伯来语等从右到左 (RTL) 的语言。
  • __ UI__(即用户界面,User Interface)让用户能够与您的应用程序进行交互。Unity 目前支持三种 UI 系统。更多信息
    See in Glossary
    工具包动态图集新增了调试器。
  • 在 UXML 和 UI Builder 中新增了对深度嵌套属性覆盖的支持。
  • 新增了使用搜索的类型选择器。
  • 在 UI Builder 库中新增了搜索字段。

Entities

  • UnityObjectRef<> 新增了序列化支持,以实现对 Unity 资源的非托管引用。例如,可以在非托管 IComponentData 上有一个 UnityObjectRef<Texture>,而不是托管 IComponentData 上的纹理。
  • 创建 (Create) 菜单新增了以下类型 (Type) 模板: 
    • IComponentData
    • ISystem
    • IJobEntity
    •  Baker
  • 更改了实体存储方式,为合并实体和游戏对象流程做准备。实体 ID 现在具有全局唯一性,现在可以将它们从一个实体世界高效移动到另一个实体世界。这不会影响 Unity 6 中的 ECS 流程,但通过始终显示确切实体,确实消除了调试过程中的歧义。 
  • 将以下修复应用于实体的层级视图 (Hierarchy) 窗口:
    • 可以选择层级中的实体和系统。
    • 修复了在有效用例中从层级视图删除实体后无效范围检查失败的问题。
    • 终止了实体层级在销毁实体时引发异常。
    • 现在,卸载场景时,实体层级会删除该场景及子场景的所有节点。
    • 从实体层级中输入预制件时不再引发异常。
  • 在存在大量现有类型的场景中,改进了烘焙性能以及原型创建和实体查询性能。 
  • 改进了 LocalToWorld 系统和非脏层级的性能。
  • 修复了在启用组件上使用 WithNone<T>EntityQuery 未插入必要的作业依赖关系的问题。
  • EntityQuery 单例方法现在可以正确处理查询包含可启用组件的情况。
  • 修复了内存泄漏问题,例如影响世界反序列化和内容交付的问题。
  • 修复了在具有 System.API 的系统中定义的作业中的断点问题。

图形

  • 新增了 GPU Resident Drawer,它自动使用 BatchRendererGroup API 通过 GPU 实例化来绘制 GameObject。这样可以减少绘制调用次数并释放 CPU 处理时间。
  • 在 GPU Resident Drawer 中新增了对 SpeedTree GameObject 的支持。
  • 新增了对实例的 GPU 遮挡剔除的支持(如果它们与 GPU Resident Drawer 兼容),包括剔除小网格。
  • BatchRendererGroup API 新增了每批次图层过滤设置。您可以使用此设置剔除特定批次。
  • 优化了 URP 和 HDRP 中的体积框架的 CPU 性能,以提高低端硬件的效率,并实现对质量设置更精确的控制。
  • 构建配置文件 (Build Profiles) > 资源导入覆盖 (Asset Import Overrides) 中新增了强制禁用挤压 (Force No Crunch) 纹理压缩设置,可强制所有纹理禁用挤压压缩和重新导入。
  • 新增了 IRenderPipelineResources 界面,允许在图形设置 (Graphics Settings) 窗口中新增设置组。
  • 更新了默认 IRenderPipelineGraphicsSettings 检视面板,以在修改图形设置 (Graphics Settings) 中的值时触发通知。
  • IRenderPipelineGraphicsSettings 中新增了自定义菜单。
  • CustomPostProcessOrder 新增了 UI 工具包支持。
  • 为 URP 和 HDRP 新增了缓存渲染图编译的选项。

URP

有关 URP 新功能和改进的完整描述,请参阅 URP 中的新功能

  • 在主光源和附加光源的阴影纹理分辨率中新增了 8192x8192 选项。
  • 在 Forward+ 渲染路径中新增了对渐晕渲染的支持。
  • 添加了摄像机历史记录纹理管理器和基本接口以访问每个摄像机的历史记录纹理。历史记录纹理被封装并存储在特定类型中,这些类型包含了所有相关纹理、额外数据以及针对该历史记录的专用 API 方法。历史记录纹理对在多个帧上累积样本或使用先前帧的数据作为输入的渲染算法非常有用。
  • 向 URP 新增了自适应探针体积 (APV) 光照场景混合。
  • 新增了一个配置包,允许您覆盖屏幕上可见的最大光源数量。
  • 为自定义渲染通道新增了每个摄像机颜色和深度历史记录以及历史记录访问权限。
  • 新增了渲染图查看器 (Render Graph Viewer)。通过窗口 (Window) > 分析 (Analysis) > 渲染图查看器 (Render Graph Viewer) 菜单进行访问。该工具有助于在渲染图框架中可视化和调试渲染通道的资源使用情况。
  • 向渲染调试器新增了六个 Mipmap 串流视图。这些视图位于渲染 (Rendering) 选项卡中的 Mipmap 串流 (Mipmap Streaming) 下。可用调试视图包括:
    • Mip 串流性能
    • Mip 串流状态
    • Mip 串流活动
    • Mip 串流优先级
    • 剪辑计数
    • Mip 比例
  • 新增了 C# 脚本模板以创建使用自定义 VolumeComponent 的后期处理 ScriptableRendererFeature
  • 为 URP 新增了 APV 天空遮挡支持。
  • 新增了对空域时域后处理 (STP) 升级解决方案的支持。
  • Unity 6 中的 URP 新 RenderGraph 系统可自动执行运行时资源优化,从而简化内存使用并增强性能,尤其是在移动 GPU 上。其更严格的 API 准则最大限度减少了渲染错误和性能问题。集成 NativeRenderPass API 和全面的调试查看器有助于进行高效的故障排除和资源管理。此外,新的 ContextContainer 类提供了对渲染资源的简化访问方式,提高了复杂项目的易用性和控制力。
  • 此 URP 版本实现了 Alpha 处理 (Alpha Processing) 设置(URP 资产 (URP Asset) > 后处理 (Post-processing) > Alpha 处理 (Alpha Processing))。启用此设置后,URP 会将后处理输出渲染到具有 Alpha 通道的渲染纹理中。以前,URP 中的后处理流程在最终输出中丢弃了 Alpha 通道(将 Alpha 值替换为 1)。渲染目标需要具有 Alpha 通道的格式。对于 SDR(HDR 关闭),摄像机颜色缓冲区格式必须为 RGBA8,对于 HDR(64 位),必须为 RGBA16F。您可以使用 URP 资产 (URP Asset) > 质量 (Quality) 中的设置配置格式。

HDRP

有关 URP 新功能和改进的完整描述,请参阅 HDRP 中的新功能

  • 新增了对所有材质上的覆盖材质属性(例如平滑度、反照率和法线贴图)的支持,以便于进行材质和光照调试。通过路径追踪器管线进行渲染时,HDRP 中的材质覆盖功能可通过渲染调试器的光照 (Lighting) 面板使用。
  • 在自适应探针体积 (APV) 中新增了天空遮挡功能,允许使用静态探针体积实现一天中不同时间的光照效果。
  • 停用了将烘焙数据存储为自适应探针体积 (APV) 中的串流资源,使其与资源包和 Addressables 兼容。
  • 新增了 AMD FidelityFX Super Resolution 2 (FSR2) Unity 脚本绑定和 HDRP 集成。
  • 改进了现有的 Mipmap 串流调试视图,并新增了更多视图。HDRP 目前提供的功能与 URP 提供的功能一致。
  • 新增了对空域时域后处理 (STP) 升级解决方案的支持。

Multiplayer

Netcode for GameObjects

  • 在 Netcode for GameObjects 中新增了 Distributed Authority 模式,在游戏会话期间,客户端对生成的 Netcode 对象拥有分布式所有权或授权。使用 Distributed Authority 时,客户端对生成的网络对象具有受管权限,这一操作会通告给云状态服务,并将状态更新传递给所有连接的客户端。高度优化的云状态服务可维护客户端之间网络会话的整体状态。
  • 新增了一个新的 RPC 属性,可以执行服务器和客户端 RPC 的功能,以及启用客户端到客户端 RPC。
  • 新增了许多实用方法,包括 NetworkManager.OnConnectionEvent-ServerIsHost-InstantiateAndSpawn 等。

Netcode for Entities

  • 新增了对 GameObjects 渲染调试边界框的支持。
  • 新增了 NetCodeConfig ScriptableObject,其中包含大多数 NetCode 配置变量,无需修改代码即可自定义这些变量。
  • 现在可以通过以下方式禁用自动引导:
    • 在项目设置 (ProjectSettings) 中禁用自动引导。
    • 将新的 OverrideAutomaticNetcodeBootstrap MonoBehaviour 添加到第一个构建场景中。
  • 新增了 AlwaysRelevantQuery,可用于指定相关性的一般规则,而无需逐个幽灵指定。
  • Added BatchScaleImportanceDelegate,它是重要性缩放函数的新版本,可以批量处理工作。无需同时设置 ScaleImportance 和 BatchScaleImportance 函数指针。如果设置了 BatchScaleImportance,则首选此属性。

Multiplayer Play Mode

将 Multiplayer Play Mode 更新到了 1.0 版。使用它可以在不离开 Unity 编辑器的情况下测试多人游戏功能。有关更多信息,请参阅 Multiplayer Play Mode 文档

Dedicated Server

发布了 Dedicated Server 包,可用于在服务器和客户端角色之间切换项目,而无需创建其他项目。有关更多信息,请参阅 Dedicated Server 包文档

工具

将 Multiplayer Tools 包更新到 2.1.0 版,新增了 Network Scene Visualization,将其作为新的视觉调试工具。有关更多信息,请参阅 Multiplayer Tools 文档

示例

  • 新增了 Dedicated Game Server 示例,演示 Multiplayer Play Mode 和 Dedicated Server 如何与 Netcode for GameObjects 协同工作。
  • 新增了 Distributed Authority 示例,该示例将分布式授权网络模型集成在 Netcode for GameObjects 中。

Package Manager

改进了项目清单文件的行为,如果文件为空或全是空白字符,则使用默认依赖项重新填充它们。

粒子

  • 新增了粒子轨迹的自定义顶点流功能。
  • 新增了 BakeTextureBakeTrailsTexture 脚本方法。

平台

Android

  • 新增了一个新的构建设置,用于在将 .aab 文件上传到 Google Play Store 时将调试符号嵌入到应用程序包中。您可以选择将符号包作为 zip 文件,与 .apk.aab 文件一起单独上传。您可以使用 .so.sym.so.dbg 以及旧版 .so 扩展名来创建符号文件。
  • 新增了一个播放器设置,可在符号包大小超过指定阈值时显示警告。
  • .androidlib Plug-in 检视面板中新增了一个属性,用于指定 unityLibrary 的依赖关系。现在,可以将 .androidlib 配置为依赖于 unityLibrary,从而通过覆盖 UnityPlayerActivity 来扩展活动。

iOS

  • 新增了 .xcframework 插件支持。
  • 从播放器设置中删除了自定义 XIB 启动屏幕类型 (Custom XIB Launch Screen Type)。

visionOS

新增了对 Apple visionOS 平台的支持。

Web 平台(以前的 WebGL)

  • 在 Web 平台中实现了以下 LocationService 方法和属性:
    • Start()
    • Stop()
    • isEnabledByUser
    • lastData
    • status
  • 新增了在 Unity 播放器中进行复制和粘贴的功能。

  • 新增了对 WebAssembly 2023 的支持。有关更多信息,请参阅 WebAssembly 2023。 WebAssembly 2023 支持最高达 4GB 的堆内存,并集合了以下 WebAssembly 语言功能:
    • WebAssembly 原生异常
    • WebAssembly 单指令多数据 (SIMD)
    • 优化了数据操作
    • BigInt
    • WebAssembly.Table
    • 非捕获式的浮点数到整数转换
    • 符号扩展名 
  • 实现了以下 LocationService 方法和属性:
    • GetLastHeading()
    • SetHeadingUpdatesEnabled()
    • IsHeadingUpdatesEnabled()
    • GetHeadingStatus()
    • IsHeadingAvailable()
  • 新增了对 Compass API 的支持。

  • 新增了对移动浏览器的支持。

  • 实现了 Emscripten 3.1.38 工具链。

平台图形

新增了对间接调度光线的支持(DXR 1.1 的一部分)。此方法与 RayTracingShader.Dispatch 类似,但三个调度维度是从 GraphicsBuffer 中检索的。新增了 RayTracingShader.DispatchIndirect 和新的 CommandBuffer.DispatchRays 签名。新增了 SystemInfo.supportsIndirectDispatchRays 功能状态。

ProBuilder

  • 创建了 ProBuilder 工具上下文,您可以在场景视图中的“工具”覆盖层中激活该上下文。ProBuilder 工具上下文可在场景视图中启用特定于 ProBuilder 的操作。
  • 删除了 ProBuilder 窗口ProBuilder 工具上下文与场景视图上下文菜单结合使用,为 ProBuilder 操作提供更简化的流程。
  • 在场景视图中将顶点、边缘和面编辑模式移到了“工具设置”覆盖层。要在“工具设置”覆盖层中显示 ProBuilder 编辑模式,请在“工具”覆盖层中启用 ProBuilder 工具上下文。
  • 当 ProBuilder 工具上下文在“工具”覆盖层中处于活动状态时,将依赖于元素选择的 ProBuilder 操作(例如桥接、焊接顶点和扩大选择)移到了场景视图上下文菜单
  • 将适用于整个 ProBuilder 网格组件的 ProBuilder 操作(例如导出、细分和中心支点)移到了场景视图上下文菜单
  • 将创建和编辑工具移至“工具”覆盖层。
  • 为大多数 ProBuilder 操作新增了预览选项。
  • 将以下工具选项从 ProBuilder 工具栏移至“工具设置”覆盖层:
    • 选择隐藏
    • 方向:Normal
    • 矩形:相交
  • 改进的创建工具:
    • 使用创建形状工具后,按住 Shift 键,可创建刚创建形状的副本。
    • 使用创建 PolyShape 后,现在无需离开工具即可绘制多个形状。

Profiler

发布了 Memory 性能分析器 1.1.0 版。有关详细信息,请参阅 Memory 性能分析器包文档

Shader Graph

  • 新增了可与 Package Manager 一起安装的示例内容包。这些示例包含 Shader Graph 中大多数节点的描述、示例和细分。这些示例不仅有助于了解节点的内部工作,还可以看到节点如何运行以及如何使用它们的示例。
  • 新增了用于添加新节点和切换子窗口可见性的快捷键,并将多个现有快捷键移到了 Shortcut Manager。
  • 在用户偏好设置中新增了缩放步长选项。
  • 新增了可自定义的热图颜色模式,该模式默认显示 Shader Graph 中每个节点的估计性能影响。
  • 在 Shader Graph 中新增了功能示例示例,以向用户展示如何在 Shader Graph 中实现特定效果。

SpeedTree

新增了 SpeedTree9Importer,支持 SpeedTree Modeler 9 导出的 .st9 文件,并包含以下内容:

  • 支持 SpeedTree Games Wind 和 SpeedTree Legacy Wind 效果。
  • 通过 Importer Settings 配置风力和方向响应能力。
  • 用于内置 (.cg)、URP 和 HDRP 渲染器 (.shadergraph) 的新 SpeedTree9 着色器。
  • 用于实现新的风力效果的新型着色器,但在光照方面没有重大改动。

Version Control

在 Unity 的版本控制功能中新增了一个选项卡视图,用于列出并管理锁定。

VFX Graph

  • 改进了 Shader Graph Cross Pipeline 工作流程。
  • 现在可从黑板面板处理内置和自定义属性。
  • 允许对已公开纹理或图形缓冲区的 VFX 进行实例化渲染。
  • 带状图现在支持“间接绘制 (Indirect draw)”选项。“间接绘制 (Indirect draw)”仅渲染处于活动状态的粒子,而非全部粒子。
  • 新增了对带状图中每个粒子排序的支持。
  • 在 VFX 窗口中新增了性能分析/调试面板。
  • 使用 URP 在 VFX 中新增了摄像机缓冲区访问支持。
  • 支持在 Shader Graph 中声明 ShaderKeyword
  • 重新设计了 Flipbook 播放器代码块。
  • 新增了允许在接触时执行特定过程的碰撞事件。
  • 对 VFX Graph 中的快捷键进行了以下改进:
    • 在全局 Unity 快捷键 (Shortcut) 窗口中注册了快捷键。
    • 尽可能将快捷键与 ShaderGraph 同步。
    • 新增了快捷键。
  • 新增了带状图的粒子计数回读,这也允许带状图进入休眠状态。
  • 为带状图启用了视锥体剔除。

XR

在 Vision Pro 上新增了对 Foveated Rendering 的支持。

其他资源

Unity 6 中的新功能
Unity 2023.2 中的新功能