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.AllowMissingUToc和iax.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 返回值改为 void、Release/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 相关类型(FBoundValues→FBoundValueMap、FAttributes→FAttributeCollection等)一并整理。出处: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 周边的完善接连落地。