Skip to content

2025年12月引擎更新月报


title: '2025年12月引擎更新月报' date: '2025-12-31'

12月是 Sequencer 引入「Animation Mixer 轨道」,Control Rig 联动以及通向 UAF 的次世代动画时间线明确迈进的月份。

除了 Multi-User 大文件共享Sandboxed Editing 与 Multi-User 集成File Sandbox 的 CLI 管理 / 变更追踪 API 等协作编辑方面的完善之外,运行时方面也有大量新增:Windows DX12/Vulkan 动态分辨率MetaHuman Animator 的 Mac / Linux 支持SkeletalMeshComponent 物理体异步生成VSM 预过滤远景阴影等。

性能方面,Apple 平台的 Mutex 优化(os_unfair_lock 带来了重大改进:游戏线程 3~4% / 渲染线程 4~5% / 地图加载 10% / 启动 4~5% 的提升;MegaLights 早期剔除约降低 20% 开销GameFeatures Subsystem 启动时间缩短 1~2 秒。(12/21 以后因年末仅有小规模修复)。

✨ 新功能

Sequencer 引入新的 Animation Mixer 轨道

Sequencer 的 MVVM 框架进行了大幅重构,引入了新的 Animation Mixer 轨道。可以通过拖拽控制动画图层的顺序,每个图层可添加 Control Rig 等子轨道,大幅提升复杂动画堆栈的构建效率。Anim Mixer 的拖拽和预览在当月中逐步改善。

出处:2025-12-08 / 2025-12-11 / 2025-12-12

Sandboxed Editing 与 Multi-User 集成,新增 CLI 管理 / 变更 API

11月引入的 Sandboxed Editing 获得了多项更新:Multi-User 会话联动、File Sandbox 的 CLI 操作(创建/删除)、沙盒内文件变更获取 API、退出沙盒时未保存变更的确认对话框、以及加入实验性插件列表。

出处:2025-12-08 / 2025-12-10 / 2025-12-11 / 2025-12-15 / 2025-12-16

Multi-User Editing 支持大文件共享存储传输(实验性)

引入了通过共享存储(本地/云端)而非网络传输 2MB 以上包文件的机制,加速远程协作中大资源的同步(默认关闭)。

出处:2025-12-08

Windows 的 DX12 / Vulkan 支持动态分辨率 + Lyra 设置

Windows 的 DX12 / Vulkan RHI 启用动态分辨率,可根据 GPU 负载自动调整分辨率。Lyra 示例中新增了切换此功能的视频设置。

出处:2025-12-02

SkeletalMeshComponent 物理体生成/销毁异步化

通过 p.SkeletalMeshComponent.EnableAsyncInitBody 启用的新选项,可抑制大量角色场景中的游戏线程负载和性能尖峰。

出处:2025-12-08

Virtual Shadow Maps 新增预过滤远景阴影

新增实验性功能:以低分辨率渲染远景阴影投射物,通过预过滤和时间重投影处理。相比 SMRT 可实现更高质量且平滑的远景阴影,同时兼顾性能。

出处:2025-12-08

On-Demand:包流式加载与并发请求支持

启用 pak.AllowMissingUTociax.PackageStreamingEnabled 后,可在不预先配置安装缓存的情况下,对所有 IoStore 块进行即时流式加载。On-Demand Content Installer 也改进了并发请求和缓存满时处理。

出处:2025-12-05

MetaHuman Animator 支持 Mac / Linux

MetaHuman Animator 和 MetaHumanCoreTech 插件现在可在 Mac / Linux 上运行。目前仅支持单声道视频/音频、CPU 处理,性能较 Windows 有所下降,但支持的平台大幅扩展。

出处:2025-12-12

Landscape 绘制工具的「独占绘制模式」及多项改进

新增独占绘制功能,可自动减少同混合组中其他图层的权重,恢复了 UE 旧版本的兼容工作流。同时有大量 UX 改进和 Bug 修复,包括目标图层更新和工具提示等。

出处:2025-12-02

PCG:支持骨骼网格体和 Landscape 图层多材质

PCG 现可在动态网格操作(Mesh Sampler、Mesh→Dynamic Mesh、向点添加网格等)中处理骨骼网格体;Generate Landscape Textures / Generate Grass Maps 可跨多个 Landscape 材质/草地类型运行。

出处:2025-12-02 / 2025-12-05

新增内存消毒器 AutoRTFMSan

新增可检测闭合写入与开放写入混用的消毒器,随编译器/UBT/Natvis 支持一同添加,大幅推进了 Verse / AutoRTFM 使用时的调试能力。

出处:2025-12-01 / 2025-12-02

Network Prediction 插件支持 Iris 复制

Network Prediction 现已兼容 Iris 复制系统,可构建更高效、可扩展的网络预测逻辑(同时保留现有的非 Iris 兼容)。NetPhysics 也增加了无缝漫游支持。

出处:2025-12-02 / 2025-12-15

Skeletal Mesh 的 CPU 访问可从 Blueprint 控制

与 Static Mesh 类似,Skeletal Mesh 现可通过 BP 切换 CPU 访问,提升了运行时网格数据读取和程序化操作的灵活性。

出处:2025-12-02

新增「UI 材质」资源类型 + Mobile Buffer Visualization

新增 UI 材质域专用资源创建选项,简化了 UI 材质创建(静态网格使用标志将自动禁用)。移动端也可使用 Buffer Visualization 显示模式。

出处:2025-12-05

Path Tracer 强化(方向光大气衰减、玻璃物理化、薄玻璃质量)

方向光的大气衰减已从光栅化逻辑中分离,改为在 Path Tracer 内计算;修复了无内部介质玻璃材质的过度吸收 Bug。此外结合 11 月的薄玻璃散射波瓣改进(Path Tracer Thin Translucency),半透明系的质量和一致性大幅提升。

出处:2025-12-08

Skeletal Mesh Modeling Tools 新增几何选择功能

集成了几何选择管理器,可直接选择并编辑基础网格或活动 Morph Target 的顶点/边/面。

出处:2025-12-08

Skeletal Mesh 可用作 Control Rig 控制形状代理

除 Static Mesh 外,Control Rig 的控制形状代理现可使用 Skeletal Mesh,可构建动态控制 Gizmo。

出处:2025-12-16

独立 HLOD 资源的外部化选项

独立 HLOD 新增选项,可将生成的资源保存到独立包中而非嵌入 HLOD Actor。在多个 Level Instance 复用同一关卡时可减少磁盘占用。

出处:2025-12-16

Audio Insights 新增信号流可视化工具

可以图表形式实时可视化活动音源、总线、子混音之间的连接和流向,大幅简化复杂音频路由的调试。

出处:2025-12-16

NNE 运行时支持 x86 CPU 功能运行时检测(AVX 等)

NNE IREE 运行时可在运行时检测 AVX 等指令集,在附带多个优化目标的情况下选择合适的版本,兼顾老旧设备兼容性与推理性能。

出处:2025-12-16

stat thermals 显示移动端热状态

可通过 stat thermals 查看 iOS / Android 设备的热状态,有助于识别由热降频导致的性能问题。

出处:2025-12-12

Iris 新增异步复制停止功能

当对象复制停止处理过程中收到重启请求时,可安全取消处理,提升了复制系统的健壮性。

出处:2025-12-01

动态分辨率时减少 HZB 重分配 + 集成快速字符串比较库 rapidfuzz

Hierarchical Z-Buffer 以视图最大尺寸保持,减少动态分辨率时的渲染目标重分配。同时集成 rapidfuzz,提升编辑器内搜索等相似性评估功能的性能。

出处:2025-12-01 / 2025-12-11


🚀 重大变更

Core 模块与 CoreUObject 的循环依赖已解除

Core 依赖 CoreUObject 的状态通过重构解除,AutoRTFMUE.cpp 中的 Verse 相关引用改为通过函数指针调用。引擎模块结构的梳理。

出处:2025-12-02

Metal RHI 升级至 Metal Shader Converter v3.0

以前必需的 Texture2D → Texture2DArray 转换特殊处理已不再需要,代码更清晰。

出处:2025-12-05

MetaSound:Wave Player Operator 切换为新实现为默认

CPU / 内存效率提升,修复了更改播放速度时提示点事件触发问题。

出处:2025-12-08

oneTBB 2022.3.0 / OpenVDB 13.0.0 + Embree / OpenUSD 重新构建

主要外部库已更新,Sparse Volume Texture 等周边功能的稳定性和性能得到改善。Zen Server 也更新至 v5.7.14。

出处:2025-12-08 / 2025-12-11

Geometry Mask 渲染目标改为 R16f 格式

从 RGBA16f 改为 R16f,简化系统且当场景中蒙版数量非 3 的倍数时减少内存占用。

出处:2025-12-11

RigLogic / DNACalib 大幅更新及 DNAAsset 正式资源化

RigLogic / DNACalib 经过改进以支持 ML Joints,API 也发生重大变化。RigLogic 的 DNA 数据从 AssetUserData 包装中独立出来,作为 DNAAsset 类型处理,DNA 文件的导入/重新导入工作流更加健壮。

出处:2025-12-15 / 2025-12-16

Mutable:「Material*」系列节点重命名为「SkeletalMeshSection」

为反映其功能实际针对的是材质插槽或网格分段,名称进行了整理。

出处:2025-12-16

iOS 的软件光标和外部键盘全面改进

iOS 可使用软件光标,外部键盘输入从基于 GCKeyboard 改为基于 UIKit,iPad 等设备上的鼠标/键盘操作更接近桌面体验。

出处:2025-12-16

着色器库增量烘焙改进(.ucacheshaderbytecode 独立文件化)

烘焙缓存改为保存到不受暂存影响的独立文件中,提高了依赖追踪的准确性和增量烘焙性能。

出处:2025-12-10 / 2025-12-15

VerseVM 对象构建顺序向 BPVM 靠拢

重新整理了构建顺序,避免 verse.UObjectLeniency=false 时的潜在问题,降低因访问未初始化数据成员导致的死锁风险。

出处:2025-12-05

新 TRS Gizmo 偏好设置 UI 重新设计及多按钮轴绑定恢复

新 TRS Gizmo 的 Preferences UI 重新设计,左/中/右按钮对应 X/Y/Z 轴的「Sequential Indirect Axes Buttons」和多轴同时操作的「Additive Indirect Manipulation」等旧有选项已整理可用。间接旋转操作的反馈反转问题也已解决。

出处:2025-12-02 / 2025-12-12

Chaos 碰撞过滤器持续推进 64 位化重构

将硬编码的通道数替换为变量、更新旧版查询数据获取 API 等,持续为 64 通道支持进行整理。

出处:2025-12-08

Path Tracer 方向光大气衰减逻辑分离

方向光的大气衰减计算从光栅化逻辑中分离,移入 Path Tracer。代码依赖关系得到整理。

出处:2025-12-08


⚡ 性能优化

Apple 平台 Mutex 基于 os_unfair_lock(GT 约 3~4% / RT 约 4~5% / 地图加载约 10% / 启动约 4~5% 改善)

针对 macOS / iOS 引入了自定义递归互斥锁 FAppleRecursiveMutex,游戏线程、渲染线程、地图加载时间、启动时间均观测到可测量的改善,为本月最大级别的优化。

出处:2025-12-11

MegaLights 早期剔除降低约 20% 开销

新增基于灯光输出和衰减跳过贡献较小的灯光的早期剔除处理,特定场景中灯光采样开销降低约 20%。Temporal Accumulation 着色器在特定主机上也加速约 0.04ms。

出处:2025-12-03 / 2025-12-11

GameFeatures Subsystem 启动时间缩短 1~2 秒

内部缓存从深拷贝改为 SharedPtr,PC 启动时间改善了 1~2 秒。

出处:2025-12-02

HWRT 骨骼网格体改用 GPUScene

骨骼网格体的场景代理现通过 GPUScene 处理硬件光线追踪的实例变换,改善了大量骨骼网格体场景中的 RT 更新性能。

出处:2025-12-10

StreamableManager 新增即时异步加载

通过 bUseJustInTimeAsyncLoader 启用的新机制,可更灵活地变更/取消加载请求的优先级,提升资源流式加载的响应性。

出处:2025-12-10

D3D12 PSO 缓存常驻内存以减少驱动缓存导致的卡顿

针对 NVIDIA / AMD 等 IHV,新增将已缓存 PSO 保留在内存中的选项,减少从驱动缓存读取时产生的卡顿。r.PSOPrecache.KeepInMemoryUntilUsed 相关默认值也已上调。

出处:2025-12-10 / 2025-12-16

Verse VM 通过 AutoRTFM::Assign 优化

事务内的简单字段赋值和数组元素复制现通过 AutoRTFM::Assign 处理,改善一般操作性能。

出处:2025-12-10

UBA:共享内存的临时文件后备 + 进程竞速

新增 TempFileForSharedMemory 选项,大幅减少大规模链接(如单体 LTCG 构建)中的已提交内存;新增「进程竞速」功能,远程执行较慢时可在本地同时竞争执行。

出处:2025-12-07 / 2025-12-11

服务器端禁用 Enhanced Input 的 Tick

专用服务器上 Enhanced Input 的 Tick 将不再运行,减轻服务器 CPU 负载。

出处:2025-12-03

烘焙时自动移除未使用的默认纹理

材质中未使用的默认纹理将在烘焙时被移除,减少运行时纹理内存。

出处:2025-12-03

Slate Dynamic Invalidation 扩展至布局控件 + GameplayTagsManager 内存削减

SUniformWrapPanel / SWrapBox 等布局控件也纳入动态失效范围。GameplayTagsManager 的内部数据结构也进行了内存优化。

出处:2025-12-03

体积雾着色器排列整合

历史超采样的排列合并为 1 个,减少着色器编译时间和缓存大小。

出处:2025-12-06

Trace Services 调用栈数据压缩 + Spline Mesh 跳过不必要的计算

Trace Services 中调用栈被压缩,降低跟踪大小和分析负载。Nanite 已禁用的 Spline Mesh 将跳过 MeshDeformScaleMinMax 的计算。

出处:2025-12-08

Clang 下 FMath::RoundUpToPowerOfTwo 优化

Mac / iOS / Linux 等 Clang 环境下减少指令数并消除分支,提升频繁调用的核心函数性能。

出处:2025-12-10

StateTree 未使用共享实例数据时减少内存

当共享实例数据不存在时,不再创建其存储空间,减少运行时内存。

出处:2025-12-15

修复包重新加载时的过度 GC 调用

批次大小计算错误导致 GC 频繁运行的问题已修复,包重新加载性能大幅改善。

出处:2025-12-16

NVIDIA Aftermath:Test/Shipping 构建默认禁用资源追踪

Test/Shipping 构建中移除了轻微的性能开销。可通过 r.GPUCrashDebugging.Aftermath.ResourceTracking=1 重新启用。

出处:2025-12-16


🐛 Bug 修复

修复 Path Tracer 中玻璃材质过度吸收 Bug

无内部介质的玻璃材质吸收计算过强导致远处变暗的问题已解决。

出处:2025-12-08

修复 Lumen 在辅助视图(VR / 分屏)中曝光不正确的问题

多视图时辅助视图使用错误曝光值的问题已解决,所有视图均可获得一致的照明。

出处:2025-12-02

修复渲染线程栅栏遗漏 / Nanite 流式加载器 TSan 竞态条件

已解决致命的渲染线程栅栏发送遗漏和 TSan 检测到的 Nanite 流式加载器竞态条件。

出处:2025-12-02 / 2025-12-10

HWRT 稳定性修复:r.RayTracing.UseTextureLod CVar 生效、bDrawInGame 旧标志、不安全数据访问修正

修复了多个 HWRT 相关缺陷:烘焙构建中 bDrawInGame 标志过期问题、r.RayTracing.UseTextureLod 未生效、渲染线程不安全访问等。

出处:2025-12-05

修复 TIFF ImageWrapper 栈内存破坏 + Build Patch Services 死锁

修复了特定 TIFF 标签读取时的栈内存破坏,以及 BPS 特定写入场景下取消时的死锁。

出处:2025-12-02

修复 TStringView / UE::String::Find 空字符串崩溃 + FWeightedRandomSampler 越界访问

空字符串搜索和 FWeightedRandomSampler 越界访问导致的崩溃已修复,提升了引擎整体稳定性。

出处:2025-12-08

修复 UUserDefinedEnum 加载线程安全化及 Asset Registry 目录变更遗漏

PostLoad 中的竞态条件,以及将无效日志句柄误认为有效而跳过对应目录扫描的问题已解决。

出处:2025-12-08

VerseVM 保护模块外部包免受 GC 回收

VerseVM 引用的外部包现在将始终保持存活,防止加载器尝试从磁盘重新加载引发的问题。UProperty 初始化时的事务处理也已整理。

出处:2025-12-05 / 2025-12-15

修复 SkyAtmosphere 的竞态条件(更新处理 × 异步计算着色器)

SkyAtmosphere 组件更新与异步计算着色器地图生成之间的 2 处竞态已解决。

出处:2025-12-16

GameplayAbilities:修复旧事件数据残留问题

在有事件数据→无事件数据的连续重新激活时,第二次错误复用第一次数据的 Bug 已解决。

出处:2025-12-16

Composure × 色彩分级新关卡加载崩溃 (UE-357587) 等

修复了大量带 UE 编号的崩溃/缺陷:Composure 色彩分级设置面板显示中加载新关卡导致崩溃、Take Recorder 中同名轨道未正确录制 (UE-357573)、处理与 Actor 复制属性同名的局部变量的 Set Variable 节点编译崩溃 (UE-352508)、虚拟纹理流式优先级设置始终重置为 Normal (UE-357594) 等。

出处:2025-12-11

Slate Dynamic Invalidation 因 Content Browser 崩溃暂时禁用

为抑制 Content Browser 崩溃,Dynamic Invalidation 暂时禁用。以稳定性优先,重新启用有待后续修复。

出处:2025-12-15

特定 Android 9 + Mali GPU 默认禁用 Vulkan

为避免旧驱动导致的渲染伪影,在这些环境上默认禁用 Vulkan。

出处:2025-12-15

Mutable:修复 MaterialModify 节点编译时崩溃和流式加载崩溃

修复了错误发生时每帧尝试更新的问题,材质相关节点的引脚操作 / Undo 支持也已整理。

出处:2025-12-15

HTTP 请求大小 0 数据帧结束时超时 + NVIDIA RVT 显示损坏对策默认启用

修复了服务器响应以大小 0 数据帧结束时 HTTP 超时的问题;NVIDIA GPU 上的 RVT 显示损坏对策已默认启用。WebBrowser 的 Windows 原生模式 DPI 缩放和新 TRS Gizmo 的旋转轴问题也已修复。

出处:2025-12-01


🔧 API 变更

引用计数 API 变更(AddRef 返回值改为 voidRelease/GetRefCount 返回值已弃用)

TRefCountPtr 等使用的引用计数基础 API 返回值已整理,需编写不依赖返回值的代码。此为 11 月 FRefCountedObject 统一的后续。

出处:2025-12-02

FMaterialInstanceResource 重命名为 FMaterialInstanceRenderProxy

材质实例的渲染线程侧表示改为更容易与 FMaterialResource 区分开的名字。相关变量也由 Resource 改为 RenderProxy

出处:2025-12-08

UTextBlock::SetFontSize / LevelInstance Enter/Exit 回调 / DaySequence GetTargetApparentTimeOfDay

UMG 的 TextBlock 新增独立的字号设置器;LevelInstance 编辑开始/结束时调用的回调已可用;DaySequence Actor 新增 GetTargetApparentTimeOfDay

出处:2025-12-10

新增 TTransactionallySafeMpscQueue

新设多生产者/单消费者的事务安全队列,已有的 SPSC 版本也改为别名到此实现。

出处:2025-12-11

WorldPartition StreamingSource 的 TargetState 公开至 BP

EStreamingSourceTargetState 枚举一起开放给 BP 访问,可从游戏逻辑动态切换流式加载源的启用/禁用。

出处:2025-12-16

UAF Variable Reference / ValueRuntime 类型重命名

继 11 月 FAnimNextVariableReference 重做后,UAF 的 ValueRuntime 相关类型(FBoundValuesFBoundValueMapFAttributesFAttributeCollection 等)一并整理。

出处:2025-12-16

DDC:新增 ICacheReplayWriter 接口

基于归档的 DDC 交互记录/回放实现已加入,大幅推进了 DDC 行为的调试和分析。

出处:2025-12-02


⚠️ 废弃预告

删除旧 GPU 分析器相关代码及未使用函数

长期未使用的 Mip Bias Fade 系统相关(GRenderingRealtimeClock 等)和 UGameViewportClient::SetDropDetail 已从引擎中移除,代码得以整理。

出处:2025-12-01

UGameViewportSubsystem::Get(UWorld*) 已弃用

UGameViewportSubsystem 改为 Engine Subsystem,接收 UWorld 的 Get 已弃用,替换为无参数的 Get。

出处:2025-12-01

Iris 的 BeginReplication / StopReplication 清理

AActor / UActorComponent 的旧复制函数已弃用,促进向新 API 迁移。

出处:2025-12-05

landscape.ForceLayersUpdate 已弃用

支持不充分且效率低下的调试 CVar 已弃用,推荐迁移至 landscape.ForceLayersFullUpdate

出处:2025-12-05

删除 Landscape 的 UE 5.6 弃用代码

5.6 中弃用的 Landscape API 已于本月移除,代码库进一步整理。另有大量相关清理:FQueuedThreadPoolTaskGraphWrapper、Motion Design 的 5.5 旧 API、不可变采样器状态的 RHI 移除等。

出处:2025-12-02 / 2025-12-10 / 2025-12-11 / 2025-12-15

删除 UNavAgentInterface 的旧弃用函数

自 4.13 起弃用的 GetMoveGoalOffset / GetMoveGoalReachTest 已移除。

出处:2025-12-02

📌 重点关注模块

Sequencer / Animation Mixer / UAF:Animation Mixer 轨道引入、Anim Mixer 拖拽操作改善、Sequencer 的 Verse 轨道(11 月内容)、UAF 传统蒙太奇/加法混合支持、FBoundValueMap 等类型重命名,新动画时间线的轮廓进一步清晰。

Multi-User / File Sandbox / Sandboxed Editing:大文件共享存储传输、Multi-User 与 File Sandbox 集成、CLI 管理/变更追踪 API、退出时未保存变更确认对话框等,协作编辑体验向实用线推进的一系列改进集中落地。

Apple 平台 / 移动端:macOS / iOS 的 Mutex 优化(GT/RT/地图加载/启动全方位改善)、MetaHuman Animator 的 Mac/Linux 支持、iOS 的 UIKit 外部键盘/软件光标、stat thermals 热状态确认、Android 9 + 部分 Mali 默认禁用 Vulkan 等,移动端/Apple 周边的完善接连落地。