包含此页的版本:
不含此页的版本:
Unity 6.0 包括 Unity 6.0 预览版、2023.2 和 2023.1 中的所有功能。
要了解此版本 Unity 中的更改和已知问题,请参阅 Unity 6.0 发行说明。
要查找其他版本的发行说明,请参阅 Unity 下载存档。
如果您要从 2022 LTS 升级现有项目,请阅读 Unity 6.0 升级指南,了解您的项目可能受到的影响。
查看 Unity 6.0 在以下方面的新功能和改进:
Rigidbody2D.Slide方法,允许 Rigidbody2D 在特定的积分时间内以特定速度移动,并自动执行各种滑动、重力、滑移、方向变化和表面锚定行为。此方法适用于所有体型定义 2D 刚体的固定行为。可以是 动态(Dynamic)(形体在模拟下移动并受重力等力的影响)、运动学(Kinematic)(形体在模拟下移动,但不受重力等力的影响)或静态(Static)(形体在模拟下不移动)。更多信息Rigidbody2D.MovePosition().此功能使角色控制器一个简单的胶囊体形状的碰撞器组件,具有专门的功能,用于在游戏中充当角色。与真正的碰撞体组件不同,不需要刚体,动量效果也不真实。更多信息IPerformanceModeStatus检索性能模式并侦听性能模式更改。为面向Windows、OSX和Linux平台以及专用服务器子目标的资产包添加了功能,因此它们现在使用构建的专用服务器玩家接收的相同专用服务器优化(删除纹理数据和非碰撞网格体数据)来构建它们。
实现了用于将数据保存到.meta文件。
添加了 Verified Solutions 计划,这是 Unity 策划的第三方资产和解决方案库。
-upmLogFile命令行参数,用于指定 UPM 日志输出的自定义文件路径。有关更多信息,请参阅 Unity 编辑器命令行参数。Additional App IDs到 Steam ID 提供商编辑器设置以支持多个应用程序 ID。PropertyCollectionAttribute,您可以使用它来实现集合的自定义抽屉。focusedWindowChanged回调到EditorWindow类。OneTimeSetup和OneTimeTearDownoutput 下的 XML 结果中的持续时间。添加了一个选项,用于在线性色彩空间项目中强制对 UI 工具包进行 Gamma 渲染。
Gradient,AnimationCurve,ToggleButtonGroupState、未签名整数和无符号长。PropertyField为ToggleButtonGroupState序列化属性。删除了对 IMGUI 的旧文本堆栈的依赖,以便 IMGUI 现在使用 TextCore 渲染和计算其指标。TextEditor 中的一些成员已被弃用,以适应 IMGUI 和 UITK 使用的新 TextUtilities。它们的含义相同,但它们的名称发生了变化(从字段到属性):
TextEditor.multiline现在TextEditor.isMultiline.TextEditor.hasHorizontalCursorPos现在TextEditor.hasHorizontalCursor.TextEditor.revealCursor现在TextEditor.showCursor.UnityObjectRef<>以启用对 Unity 资产的非托管引用。例如,你可以使用UnityObjectRef<Texture>在非托管IComponentData.IComponentDataISystemIJobEntityEntityQuery用WithNone<T>在启用组件上没有插入必要的作业依赖项。EntityQuery单例方法现在可以正确处理查询包含可启用组件的情况。System.API.移动了通用的 Unity 6.0 文档渲染管线(Render Pipeline) 获取场景内容并将其显示在屏幕上的一系列作。Unity 允许您从预构建的渲染管道中进行选择,或编写自己的渲染管道。更多信息
请参阅术语表(URP) 到 Unity 引擎手册。例如,有关URP中光照的文档现在位于手册的光照部分。
RayTracingShader.Dispatch,但三个调度维度是从 GraphicsBuffer 检索的。添加RayTracingShader.DispatchIndirect和新的CommandBuffer.DispatchRays签名。添加SystemInfo.supportsIndirectDispatchRays功能状态。BatchRendererGroup使用 GPU 实例化绘制游戏对象的 API。这减少了绘制调用的数量并释放了 CPU 处理时间。BatchRendererGroup应用程序接口。您可以使用此设置剔除特定批次。IRenderPipelineResources界面,允许您在图形设置窗口中添加新的设置组。更新了默认值IRenderPipelineGraphicsSettingsInspector 在修改“图形设置”中的值时触发通知,并在IRenderPipelineGraphicsSettings.CustomPostProcessOrder.BatchCullingContext.cullingFlags以指定是否剔除光照贴图阴影投射器。rendererPriority支持BatchRendererGroup.CommandBuffer.BuildRayTracingAccelerationStructure命令。添加了对RayTracingAccelerationStructure到 RenderGraph 和 Render Graph Viewer。RayTracingAccelerationStructure,或通过渲染器设置。BakeTexture和BakeTrailsTexture脚本方法。SystemInfo.supportsInlineRayTracing,SystemInfo.supportsRayTracingShaders,ComputeShader.SetRayTracingAccelerationStructure和CommandBuffer.SetRayTracingAccelerationStructure(计算着色器,...)。#pragma require inlineraytracing以计算着色器。RayTracingAccelerationStructure.AddInstance签名,允许将网格体实例添加到GPU光线追踪的加速结构中。这相当于Graphics.RenderMesh从光栅化通过计算几何体中每个多边形或三角形的像素来生成图像的过程。这是光线追踪的替代方法。ImageConversion.LoadImage().ScriptableRenderContext.CullShadowCastersAPI 来启动 BatchRendererGroup 在 URP 和 HDRP 中较早剔除作业。有关 URP 中新功能和改进的完整说明,请参阅 URP 中的新功能。
在主光源和附加光源的阴影纹理分辨率中添加了 8192x8192 选项。
添加了摄像机历史记录 API,可让您访问每个摄像机的历史纹理并在自定义渲染通道中使用它们。历史纹理是 Unity 在前一帧中为每个摄像机渲染的颜色和深度纹理。
在URP中添加了自适应探测体积(APV)光照场景混合。
添加了一个新的配置包,可让您覆盖可见光的最大数量。
添加了 渲染图表查看器(Render Graph Viewer) 窗口。此工具可让您可视化渲染通道如何使用帧资源,并调试渲染过程。
渲染调试器现在包含 Mipmap 流送(Mipmap Streaming) 部分。此部分允许你检查纹理流送活动。
添加了 C# 脚本模板,以创建使用体积组件的自定义后期处理效果。
添加了对 URP 的 APV 天空遮挡支持。
添加了对空间时序后处理 (STP) 升级的支持。
新的渲染图系统改进了自定义和维护渲染管线的方式。系统减少了 URP 使用的内存量,并提高了内存管理的效率。
此 URP 版本实现了 Alpha 处理设置。如果启用此设置,URP 会将后期处理输出渲染为渲染纹理(render texture) 一种特殊类型的纹理,在运行时创建和更新。要使用它们,请先创建一个新的渲染纹理,并指定要渲染到其中的摄像机之一。然后,你可以在材质中使用渲染纹理,就像使用常规纹理一样。更多信息
请参阅术语表带有 alpha 通道。在以前的版本中,URP 通过将 alpha 值替换为 1 来丢弃 alpha 通道。
新增跨平台HDR高动态范围
请参阅术语表显示支持。编辑器和构建的播放器现在提供完整的HDR色调映射和显示支持,适用于所有支持HDR的渲染管线和平台,包括移动和XR。
为探针体积的间接光照添加了每个顶点的质量级别,以便URP更有效地渲染光照环境。在移动平台上,URP 不支持光照场景混合或光照归一化反射探针(Reflection Probes) 一个渲染组件,可捕获周围环境的各个方向的球形视图,就像摄像机一样。然后,捕获的图像将存储为立方体贴图,可供具有反射材质的对象使用。更多信息
请参阅术语表.
在运动模糊体积组件中添加了摄像机和对象选项。该选项使用运动矢量来模糊移动速度超过摄像机曝光时间的对象。
添加了对其他定向光 cookie 的支持。
在 URP 全局设置中添加了 默认卷配置文件(Default Volume Profile) 字段。
将 体积配置文件(Volume Profile) 字段添加到通用渲染管线资产中。
添加了对URP材质的alembic速度运动矢量支持。
为仅基于 时间(Time) 节点的顶点动画的着色器(Shader Graph) 着色器添加了基于时间的自动运动矢量生成。
向 Forward+ 添加了对 XR 渲染和正交投影相机的支持渲染路径渲染管道用于渲染图形的技术。选择不同的渲染路径会影响照明和着色的计算方式。某些渲染路径比其他路径更适合不同的平台和硬件。更多信息
请参阅术语表.
添加了对 Forward+ 渲染路径中注视点渲染的支持。
添加了时间抗锯齿 (TAA) 支持。该功能与 MSAA 不兼容,动态分辨率(Dynamic Resolution)摄像机设置,允许你动态缩放单个渲染目标,以减少GPU上的工作负载。更多信息
请参阅术语表,或相机堆叠。该功能仅支持固定分辨率,不支持时态上采样。
添加了对高动态范围 (HDR) 输出的支持。
在URP渲染调试器中添加了 详细统计信息(Detailed Stats) 部分。
移植了所有 URP 通道以使用 RasterCommandBuffer API。
在 SSAO 设置中添加了 AO 方法属性,您可以在其中选择交错渐变噪声或蓝色噪声选项。
在SSAO设置中添加了模糊质量属性,您可以在其中选择高(双边)、中(高斯)或低(单通道川濑)选项。
在SSAO设置中添加了衰减字段,以控制与应用AO效果的摄像机的距离。
在URP Forward+渲染路径中添加了簇状反射探针支持。这样可以让每个对象使用两个以上的反射探针,允许 Unity 跳过每个对象对光源和反射探针的剔除,并允许实体图形和程序绘制使用反射探针。
在 URP 中添加了低代码自定义后期处理功能。
添加了对渲染图形 API 的贴花支持。
为URP后期处理效果添加了渲染图API支持。
添加了对阴影渲染的支持2D 对象2D 游戏对象,例如图块贴图或精灵。更多信息
请参阅术语表,例如精灵,碰撞体 用于处理对象物理碰撞的不可见形状。碰撞体不需要与对象的网格体形状完全相同 - 在游戏中,粗略的近似值通常更有效且难以区分。更多信息
请参阅术语表、精灵形状和 2D 动画。
为阴影投射 2D 光源添加了柔和阴影渲染。
添加了对探针体积的有限支持,没有对光照数据集进行插值,并且在低端硬件上的性能有限。
改进了 FXAA 质量。新实现提供了更好的边缘抗锯齿(删除了在以前实现中看到的奇数边缘伪影)和更好的纹理质量保留。改进不会影响性能。输出质量现在与中低 SMAA 预设相当,但性能更好。
有关 URP 新功能和改进的完整说明,请参阅 HDRP 中的新功能。
Unity 6.0 多人游戏功能旨在简化和加速多人游戏开发,为将来与多人游戏服务的集成做好准备,并支持参与玩家社区随着时间的推移而发展。
新的多人游戏中心使设置和开发多人游戏变得更加容易。提示和工作流程使用游戏的参数和要求来建议相关的包和服务,然后再生成可用于启动项目的动态模板。
你不再需要离开编辑器来设置多人游戏。个性化的交互式指导、教育材料和快捷方式使早期和经常进行实验和响应反馈变得更加容易。
新的多人游戏小组件可以更轻松地将多人游戏服务集成到多人游戏中。您可以作为独立包或从新的多人游戏中心访问小部件。
包含用于 Multiplay、Relay、Lobby、Vivox 等服务的小部件,可以更轻松地找到兼容的相关集成。例如,将 Relay 服务集成到编辑器中可以更轻松地在开发过程的早期创建会话和连接用户。
新发布的多人游戏服务包可以更轻松地管理多人游戏服务之间的依赖关系。例如,您可以:
为了简化配置,会话现在直接与 Netcode for GameObjects、Netcode for Entities 和 Unity Transport 包集成。
多人游戏工具包版本 2.2.1 改进了 Unity 中多人游戏开发的工作流、Netcode for GameObjects 2.0 的性能,并添加了对分布式授权机构的支持。
将多人游戏工具包更新到 2.1.0 版本,将网络场景可视化添加为新的可视化调试工具。有关更多信息,请参阅多人游戏工具文档。
多人游戏模式包旨在减少迭代周期,更轻松地验证实现选择,并在运行时进程中尽早提高游戏质量。
Unity 6.0 中的新游戏模式场景将测试周期集成到生产环境中,以帮助您更早地为真实玩家提供首次可玩的体验。
将多人游戏模式更新到 1.0 版本。使用它来测试多人游戏功能,而无需离开 Unity 编辑器。有关更多信息,请参阅多人游戏模式文档。
专用服务器包在编辑器中整合了专用游戏服务器工作流程,以便更轻松地在本地部署专用服务器和多人游戏托管。
新的多人游戏角色使你能够控制在每个生成目标中使用的多人游戏角色(客户端、服务器):
发布了专用服务器包,可用于在服务器和客户端角色之间切换项目,而无需创建另一个项目。有关更多信息,请参阅专用服务器包文档。
游戏对象的网络代码是一个高级网络支持跨计算机网络进行多人游戏的 Unity 系统。更多信息
请参阅术语表为 Unity 构建的库,用于抽象网络逻辑。
Netcode for GameObjects 版本 2.0 现在支持分布式授权(测试版),并包括改进以促进多人游戏开发的最佳实践。有关游戏对象的基本网络代码功能以及单个 API 和系统的实际示例的信息,请参阅多人游戏用例 Bitesize 示例。
NetworkManager.OnConnectionEvent,-ServerIsHost,-InstantiateAndSpawn,等等。GlobalObjectIdHash预制件实例的值,该实例在具有NetworkObject元件。此属性会影响构建列表中包含的所有场景。NetworkManager方法SetPeerMTU和GetPeerMTU以完全控制最大传输单元 (MTU) 大小。将此选项用于 Netcode for GameObjects 中的自定义协议。GlobalObjectIdHash) 来修复 Unity 分配无效值的问题。GenerateSerializationForTypeAttribute方法,您可以应用于任何类或方法,以确保特定类型包含在 Codegen 序列化过程中。GenerateSerializationForGenericParameterAttribute方法,可用于包含由NetworkVariable键入 codegen 进程。NetworkVariableSerialization改进自定义的方法NetworkVariable无需任何装箱成本即可创建。您可以使用NetworkVariableBase.MarkNetworkBehaviourDirty将 NetworkVariables 标记为脏方法。NetworkBehaviour类型现在可以序列化类的泛型类型的参数。NetworkManager事件OnServerStarted,OnServerStopped,OnClientStarted和OnClientStopped以更好地通知NetworkManager初始化过程。Netcode for Entities 是 Unity 面向数据的技术堆栈 (DOTS) 的一部分,它提供了一个具有客户端预测框架的权威服务器,您可以使用该框架创建多人游戏。
Netcode for Entities 版本 1.3 包括多项可用性改进和新的 Megacity Metro 演示游戏,该演示游戏展示了 Unity 6.0 如何更快、更轻松地设置多人游戏服务、联网车辆实现、可配置的基于规则的比赛和沉浸式玩家通信。
OverrideAutomaticNetcodeBootstrapMonoBehaviour 添加到你的第一个构建场景中。AlwaysRelevantQuery您可以使用它来指定相关性的一般规则,而无需逐个重影指定它。Added BatchScaleImportanceDelegate,这是批量工作的重要性缩放函数的新版本。不需要同时设置 ScaleImportance 和 BatchScaleImportance 函数指针。如果设置了 BatchScaleImportance,则它是首选。改进了项目清单每个 Unity 项目都有一个项目清单,用作包管理器的入口点。此文件必须在<project>/Packages目录。 包管理器使用它来配置许多内容,包括该项目的依赖项列表,以及用于查询包的任何包存储库。更多信息
请参阅术语表如果文件为空或充满空格,则使用默认依赖项重新填充文件。
.aab文件添加到 Google Play 商店。您可以选择将符号包作为 zip 文件单独上传,并带有您的.apk或.aab文件。您可以使用.so.sym或.so.dbg和遗产.so扩展。.androidlib 插件 在 Unity 外部创建的一组代码,用于在 Unity 中创建功能。可以在 Unity 中使用两种插件:托管插件(使用 Visual Studio 等工具创建的托管 .NET 程序集)和本机插件(特定于平台的本机代码库)。更多信息unityLibrary.您现在可以配置.androidlib依赖unityLibrary,从而通过覆盖UnityPlayerActivity.com.unity.addressables.android) 为可寻址对象提供 Play Asset Delivery 支持。ApplicationExitInfoAPI 提供有关应用崩溃和应用无响应 (ANR) 错误的信息。GameActivity作为默认应用入口点,以更好地控制 Android 与您的应用之间的交互。build_fingerprint信息添加到 Android 版本。.xcframework插件支持。添加了对 Apple 的 visionOS 平台的支持。
LocationServiceWeb 平台中的方法和属性:Start()Stop()isEnabledByUserlastDatastatus添加了在 Unity 播放器中复制和粘贴的功能。
GetLastHeading()SetHeadingUpdatesEnabled()IsHeadingUpdatesEnabled()GetHeadingStatus()IsHeadingAvailable()添加了对 Compass API 的支持。
添加了对移动浏览器的支持。
实现了 Emscripten 3.1.38 工具链。
Content-Encoding: gzip未在服务器上正确设置,或者当 Web 浏览器存在阻止其解压缩 gzip 内容的错误时。启用了 Windows ARM64 播放器编译。有关更多信息,请访问系统要求页面。
ArticulationBody.jointPosition指向关节(Joint)允许刚体组件之间进行动态连接的物理组件,通常允许一定程度的移动,例如铰链。更多信息发布内存 1.1.0 版本分析器帮助您优化游戏的窗口。它显示了在游戏的各个领域花费了多少时间。例如,它可以报告渲染、动画制作或游戏逻辑所花费的时间百分比。更多信息
请参阅术语表.有关详细信息,请参阅内存分析器包文档。
添加了控制播放器连接侦听端口的功能。
添加了一个选项,用于在玩家版本的调用堆栈中显示 C# 源代码行号。
光线追踪 API 在 Unity 2023.1 中正式退出实验状态。光线追踪API包括稳定性和性能改进,以进一步兼容引擎的现有功能集 功能集是相关包的集合,可用于在 Unity 编辑器中实现特定结果。您可以直接在 Unity 的包管理器中管理功能集。更多信息
请参阅术语表.
使用 Sentis 直接在 Unity 应用程序中运行机器学习模型,并利用实时 AI 驱动的功能来优化性能。要了解更多信息,请参阅 Sentis 文档。
向着色器图表包添加了一组新的生产就绪示例内容着色器。
变体关键字预过滤(Variant Keyword Prefiltering) 引入了“multi_compile”关键字的早期排除,该功能基于渲染管线设置驱动的预过滤属性。这大大减少了枚举的变体数量,以便进行潜在的剥离和编译。结果是着色器处理时间显着减少。
添加了 SpeedTree9Importer,它支持 SpeedTree Modeler 9 导出的 .st9 文件,包括以下内容:
.cg)、URP 和 HDRP 渲染器 (.shadergraph).改进了 HDRP 中的 SpeedTree 视觉质量,使用透射遮罩仅在树叶上应用次表面散射。HDRP/Nature/SpeedTree8.shadergraph 将其 Subsurface Map 用于 Transmission Mask 节点,以消除树皮和树枝上的意外光传输。这也修复了过于明亮的问题billboard一种带纹理的 2D 对象,可旋转,使其始终面向摄像机。更多信息
请参阅术语表光照与 3D 几何体的光照不匹配。
HDRP/Nature/SpeedTree8.shadergraph现在使用其 次表面贴图(Subsurface Map) 作为 透射遮罩(Transmission Mask) 节点,以消除树皮和树枝上的意外光透射。这也修复了广告牌照明过亮的问题,该灯光与 3D 几何体的灯光不太匹配。
您现在可以在样条线对象上存储个性化数据。此外,检查器中用于编辑点的界面已得到增强,并且某些 API 已向公众开放。处理样条线时,现在可以使用新的场景视图上下文菜单。
-randomOrderSeed x哪里x是与 0 不同的整数。如果将新测试添加到项目中,则测试框架会保持随机顺序传递相同的种子,并相应地将新测试放置在随机列表中。TestFileReferences.json在播放器的生成步骤上生成,以便测试运行器可以使用它来扩充运行步骤的数据。添加了一个新的选项卡视图,用于列出和管理 Unity 版本控制功能中的锁。
添加了一个项目选项,以支持跟踪存在于项目根文件夹之外的磁盘上的包。
ShaderKeyword在着色器图中声明。在 Vision Pro 上添加了对注视点渲染的支持。