Skip to content

2025年11月引擎更新月报


title: '2025年11月引擎更新月报' date: '2025-11-30'

11月是 Substrate 迎来卡通着色 BSDF / Toon 配置文件Sequencer 新增 Verse 轨道 等「表现侧新入口」集中打开的一个月。

引擎基础方面,新的 "Sandboxed Editing" 插件HLOD 的体积 / Actor 范围限定构建 + BP / Python APIStateTree 的异步编译Iris 的 NetRootObjectAdapter(非 Actor 的自主复制化)USceneComponent::AttachParent 改为 TWeakObjectPtr 等一系列较大变更接踵而至。

性能方面,Lumen Radiosity Atlas 的选项化(减少 24MB + 0.12ms)Spline GenerateDistanceKnotsForBezier 成本降低 90%Insights Quick Find 最多缩短 58%Sequencer 播放期间停止 Hit Proxy 更新以消除 FPS 下降 等优化齐头并进,同时 Boost 1.88 / OpenSubdiv 3.7 / OpenEXR 3.4.3 / libcurl 8.15 / Zen Server v5.7.8〜v5.7.12 等外部依赖也大量更新。

✨ 新功能

Sandboxed Editing 插件(FileSandbox / SandboxedEditing

全新的实验性插件,可在不直接影响项目文件的情况下添加、编辑、删除 uasset。待准备就绪后再将更改持久化,特别适合团队协作中的非破坏性工作流。

来源: 2025-11-13

Substrate 添加卡通着色 BSDF 和 Toon 配置文件

Substrate 材质系统加入了卡通着色 BSDF 的初始实现,并引入了专用的 Toon Profile 资产。GBuffer 布局也相应更新以容纳 Anisotropy / ToonProfileID。同时,Slab / Hair BSDF 可通过参数切换、Specular Ramp 和半透明 alpha-to-coverage、移动端 Clear Coat 修复等一并推进,Substrate 的风格化渲染能力大幅提升。

来源: 2025-11-18 / 2025-11-19 / 2025-11-24 / 2025-11-25

Sequencer 新增 Verse 轨道

新增的 Verse 轨道允许从 Sequencer 调用 SceneGraph 组件的 Verse 函数,可在过场动画中直接触发 Verse 逻辑。

来源: 2025-11-26

HLOD 的体积 / Actor 范围限定构建与 BP / Python 公开

World Partition 地图中可限定选择体积或 Actor 范围来设置和构建 HLOD,BuildHLODForActors / BuildHLODForVolume 也已向 Editor Utility 库公开。小地图的上下文菜单中也可进行区域指定构建。

来源: 2025-11-03 / 2025-11-06 / 2025-11-07

StateTree 的异步编译队列与评估作用域实例默认启用

StateTree 资产的编译已异步队列化,加载/编辑时的编辑器响应性得到提升。临时实例数据也会被 GC 回收,内存使用量随之减少。同时,属性函数/条件/实用工具的评估作用域实例默认启用,新的转换目标(Parent / NextParent / NextSelectableParent)和输出绑定功能也已引入。

来源: 2025-11-03 / 2025-11-04 / 2025-11-05 / 2025-11-25

Iris: 非 Actor 的自主复制 (FNetRootObjectAdapter) 与服务器事务化

FNetRootObjectAdapter 已公开,可将非 AActor 派生的 UObject 类进行自主复制。服务器端 NetDriver 也可根据需要将 Iris 复制放在事务中执行。Iris 复制桥接本身也经过重构,不再局限于按关卡处理,而是可处理任意对象容器。此外还加入了 HandlerComponent 的并行执行支持、OodleNetworkAnalytics 的默认并行化,FNetHandle 的大小也扩展为可完整保留服务器标识符。

来源: 2025-11-06 / 2025-11-13 / 2025-11-14 / 2025-11-20 / 2025-11-25

新材质编译器的扩展与新转换器的 Substrate 共存

新材质编译器支持顶点着色器侧的 Custom Output、额外的 Custom Output Expression、Anisotropy 材质属性。此外,即使项目中启用了 Substrate,也可使用新材质转换器,头发束 (Hair Strands) 也已被整理为正确使用 Substrate 的照明模型。

来源: 2025-11-14 / 2025-11-25

Sequencer 中可动画化光照通道

Primitive Component 的光照通道现在可以在时间轴上动画化,可实现在镜头中动态切换特定灯光影响范围的演出效果。

来源: 2025-11-18

Niagara 可直接读取 Chaos Cloth 的 GPU 数据

Niagara 的 Skeletal Mesh 数据接口经过重构,可从 USkinnedMeshComponent 派生组件中直接获取数据。现在可直接从 GPU 上的 Chaos Cloth 组件读取蒙皮权重和变形数据用于 VFX。

来源: 2025-11-20

UE_LOGF 系列: UTF-8 printf 格式日志记录

UE_LOG 基础上新增 UE_LOGF / UE_LOGF_KINDA_SLOW / UE_LOGF_VERY_SLOW,可直接以 printf 风格输出 UTF-8 字符串,无需 FString 转换开销即可高效记录日志。

来源: 2025-11-19

Tiled Mipmap Video Player (TmvMedia) 和 APV 编解码器 + Linux x64 AV1 解码

新增媒体框架 TmvMedia 和 APV 编解码器实现,Linux (x86_64) 也支持 AV1 软件解码。这是继 10 月集成 libaom / libdav1d 之后高质量视频格式支持的延续。

来源: 2025-11-04 / 2025-11-19

DDC 图/存储配置 API 的革新与自定义缓存图支持

DDC 的图/存储已迁移到新的 Config API,可在 [DerivedDataCacheGraphs] / [DerivedDataCacheStores] 部分进行存储名称的重映射、继承和弃用。可通过命令行 (-DDC=...) 或 DDC.Graph CVar 动态构建自定义图,轻松实现如 ZenLocal + 只读 Cloud 的分层配置。

来源: 2025-11-03 / 2025-11-05 / 2025-11-07

FastGeo 的动态生成/销毁、网格绘制纹理支持

UFastGeoContainer::CreateTransient / DestroyTransient 支持运行时动态生成/异步销毁,UStaticMeshComponent 上的网格绘制纹理也已支持。PCG Grass 的运行时生成也可使用 FastGeo。

来源: 2025-11-03 / 2025-11-06 / 2025-10-21(10月)/ 2025-11 继续

Project Launcher 支持多平台/多配置构建

单个配置文件现在可为多个平台、多种构建配置进行构建/烹饪/启动,多平台测试和部署效率大幅提升。

来源: 2025-11-20

Gameplay Cameras 大规模重构与参数资产化

相机参数从节点中独立并资产化,可在多处复用。Boom Arm 支持叠加旋转,新增持久化 Rig/Shake 管理的 BP 方法,Shake 实例 ID 管理 API 也已整理。

来源: 2025-11-03 / 2025-11-06 / 2025-11-25

Visual C++ 可再发行包版本验证 + Game Input DLL 版本验证

Windows 上编辑器启动时会验证所需的 VC++ 可再发行包版本是否已安装。GameInput DLL 同样在编辑器和运行时启动时进行版本检查,可在兼容性问题导致崩溃或第三方依赖问题之前提前检测。

来源: 2025-11-04 / 2025-11-15

TSubScriptStructOf 模板工具

TSubClassOf 的 UScriptStruct 版本。可只暴露从特定基础结构体派生的结构体作为变量,并提供专用选择器 UI。

来源: 2025-11-03

LiveLink Hub 支持 Media Profile / Audio Capture 时间码提供者

LiveLink Hub 支持媒体配置文件,Audio Capture 时间码提供者已启用。虚拟制片设置的灵活性得到提升。

来源: 2025-11-04

移动端 Extended GBuffer (160bit) 和 Substrate 调试/追踪功能

移动端延迟渲染现在可使用 160bit 扩展 GBuffer (r.Mobile.ExtendedGBuffer),为更高质量的移动端表现打开了道路。MegaLights 也添加了对半透明光照体积的可视化支持,Substrate 调试范围进一步扩大。

来源: 2025-11-13 / 2025-11-25


🚀 重大变更

Iris 复制可在服务器事务中执行

服务器端 NetDriver 可根据需要在事务中执行 Iris 复制,复制处理过程中的状态一致性得到提升。面向并行化的 DeltaCompressionBaselineManager 线程安全化也已实施。

来源: 2025-11-06

Curve Editor 新撤销系统默认启用

CurveEditor.UseNewUndoSystem 默认启用。撤销/重做更加健壮可靠。

来源: 2025-11-13

灯光 / 灯光函数 / 自定义顶点工厂 Landscape 支持 PSO 预缓存

Light Component、Light Function、自定义顶点工厂地形均已纳入 PSO 预缓存范围,首次显示时的卡顿大幅减少。

来源: 2025-11-13

VSM 方向光的粗糙页面动态失效可控

面向 WPO 等场景中阴影更新频繁的情况,支持 MarkCoarsePagesDirectional = 2 模式。更容易提升阴影投射性能。

来源: 2025-11-13

SplineComponent: 碰撞默认禁用

SplineComponent 默认禁用碰撞/重叠。依赖此行为的子类需显式启用。

来源: 2025-11-25

编辑器正交投影视口默认 Unlit

顶视图/前视图/侧视图默认使用 Unlit 模式,可避免大场景中的深度范围问题和调试窗口的显示问题。

来源: 2025-11-24

大量编辑器模块明确标记为 EditorOnly

多个编辑器专用模块的 .Build.cs 已更新为明确标记 EditorOnly,防止混入游戏/Cook 构建,提高可维护性。

来源: 2025-11-24

RHI 中移除旧 GPU 性能分析器代码

从 D3D11 / D3D12 / Vulkan / Metal / OpenGL 各 RHI 中移除旧 GPU 性能分析器代码路径,代码库更加整洁。

来源: 2025-11-04

引入 FAppTime 线程安全时间管理

FAppTime 被引入以替代 FApp 的函数群,帧管线任务现在可一致地接收正确的 Delta Time。

来源: 2025-11-14

子系统初始化期间的重入访问更健壮

初始化期间的内容加载间接触发其他子系统调用的情况下,重入访问现在可被安全处理。

来源: 2025-11-15

Mutable 插件: 移除磁盘编译,统一为内存编译

旧的磁盘编译功能已移除,编译完全在内存中执行。无需中间文件管理,编译速度也得到提升。

来源: 2025-11-20

Vulkan RHI: VK_EXT_image_robustness 默认启用

抑制描述符越界读取导致的 GPU 挂起和未定义行为,Vulkan 平台稳定性提高。

来源: 2025-11-24

第三方依赖大量更新

Boost 1.88.0 / OpenSubdiv 3.7.0 / OpenEXR 3.4.3 / libcurl 8.15.0 / Zen Server v5.7.8 → v5.7.12 / Google Billing 8.1.0 / Windows GameInput / Android NDK 29 支持等,外部依赖和平台工具链集中升级。

来源: 2025-11-03 / 2025-11-05 / 2025-11-20 / 2025-11-24

UnrealBuildTool 的 ParallelExecutorUBAExecutor 取代

并行构建处理后端统一为 UBA,构建系统的可维护性得到提升。

来源: 2025-11-25

RigVM / Control Rig 资产接口大规模重构

资产接口被分为编辑器用和运行时用,新增 URigVMEditorAsset / URigVMRuntimeAsset。为未来支持 Blueprint 无关的 RigVM 资产奠定基础。

来源: 2025-11-18

Composite 插件: Single Light Shadow Layer 规格变更

阴影投射 Actor 指定变为必需,阴影偏移参数已弃用。对现有设置产生影响。

来源: 2025-11-19


⚡ 性能优化

Lumen Radiosity Atlas 选项化(主机端减少约 24MB / 0.12ms)

可在不需要的平台减少 Atlas 清除处理和内存使用,内存和性能两方面的可扩展性均得到提升。

来源: 2025-11-05

顶点着色器专用的 Material Uniform Buffer

生成 VS 专用的紧凑 Uniform Buffer,分离 PS 专用参数。需要编译的 VS 变体大幅减少,着色器编译时间和切换开销双双改善。

来源: 2025-11-24 / 2025-11-25

Spline Component 优化(GenerateDistanceKnotsForBezier 成本降低 90%)

Spline 相关方面,GenerateDistanceKnotsForBezier 的成本降低 90%,RebuildLegacyCurves 也通过缓存和算法改进得到加速。

来源: 2025-11-14

Insights Quick Find 最多缩短 58%

Timing Track 中的事件搜索/过滤性能在大规模跟踪中最多提升 58%。

来源: 2025-11-13

Sequencer 播放中 FPS 下降已解决(停止了 Hit Proxy 更新)

解决了 Sequencer 播放期间在视口移动鼠标时每帧 Hit Proxy 被禁用导致帧率大幅下降的问题。录制 Take 时的体验大幅改善。

来源: 2025-11-05 / 2025-11-06

MegaLights 半透明光照优化(主机端 1080p 约减少 0.05ms)

MegaLights 注入通道和时序滤波通道通向半透明光照体积的路径已合并。

来源: 2025-11-13

阴影深度着色器排列合并

VSM 和 OnePassPointLight 等的阴影深度着色器排列已合并,减少了不必要的组合和着色器编译时间/内存。

来源: 2025-11-03

HWRT 实例收集多线程化

硬件光线追踪的动态几何实例收集已并行化,动态对象较多的场景中渲染性能得到提升。

来源: 2025-11-04

骨骼网格渲染路径效率化

引入直接将最终骨骼变换矩阵 (ReferenceToLocalMatrices) 传递到 GPU 的新路径,无需持有中间组件空间数组,蒙皮数据管线效率提升。

来源: 2025-11-24

GPU 场景支持平台上的 ISM 顶点工厂条件性移除

在完全 GPU 场景支持的平台上,Instanced Static Mesh 用顶点工厂被条件性移除,渲染路径简化。

来源: 2025-11-25

PCG GPU 标签操作无需回读

PCG GPU 代理数据的标签添加/删除/过滤现在无需 CPU 回读即可执行,GPU 数据操作性能大幅提升。

来源: 2025-11-25

PCG Generate Landscape Textures 内存减少

通过窗口化处理仅输出覆盖生成单元格的范围,生成纹理的大小/内存/性能得到改善。

来源: 2025-11-04

Spline 评估 / ISMPoolComponent / 材质验证工具优化

ISMPoolComponent 仅在存在活跃实例或待处理请求时 Tick,材质验证工具对预加载材质实例的着色器数使用轻量计算,UObject 哈希容器 FSetHashBucket 也改为 TCompactSet 等,多项细微加速持续投入。

来源: 2025-11-07 / 2025-11-13 / 2025-11-14

iOS / Android 命令行处理 O(N²) → O(N)

移动端启动时较长命令行的解析变为线性时间,有效改善启动速度。

来源: 2025-11-19

macOS UBA: 基于 clonefile 的快速文件复制

macOS 上尝试使用写时复制的 clonefile,仅在失败时回退到传统复制。预计可改善构建时间。

来源: 2025-11-09

Apple 平台日志切换为 os_log

iOS / macOS 的日志输出从 NSLog 切换到 os_log 框架。日志隐私控制也得到提升。

来源: 2025-11-14

Constraints 快速评估方案

针对连续评估的多个动画约束,可通过 Constraints.UseFastEvaluation 启用新的评估方案。

来源: 2025-11-25

ZenLoader 竞争解除与并行处理恢复

减少全局导入表附近的锁竞争,恢复不可达脚本对象删除的并行处理。多线程加载的稳定性和吞吐量得到改善。

来源: 2025-11-09 / 2025-11-14


🐛 Bug 修复

USceneComponent::AttachParent 改为 TWeakObjectPtr 以消除 GC 问题

修复了已销毁组件仍被引用方作为父对象持有的 GC Bug。对引擎整体稳定性有显著影响。

来源: 2025-11-24

修复 TStringBuilder::Appendf 内存不足循环导致崩溃的问题

解决了 Appendf 在格式错误时不断调整大小直至内存耗尽而崩溃的重大 Bug。同时新增 FPlatformString::FormatV / TCString::FormatV

来源: 2025-11-19

修复 Gameplay Abilities 在 PIE 结束时无限循环

解决了 FActiveGameplayEffectsContainer 析构函数中 PIE 结束时陷入无限循环的问题。直接关系到 GAS 使用项目的稳定性。

来源: 2025-11-04

ZenLoader / 异步加载的死锁、use-after-free 修复

修复了 Verse VM 协作时的死锁、包卸载时的 UAF、加载器拥有对象短时可见的问题、隐藏前的显示等问题。-odschost 相关的 Cook-On-The-Fly 着色器发送问题也已解决。

来源: 2025-11-07 / 2025-11-09 / 2025-11-20

修复 HWRT 中 PreRender 未被调用的问题

解决了首个渲染器不输出 FinalSceneColor 时 HWRT 几何构建无法进行的问题。

来源: 2025-11-06

Niagara 组件池的 TObjectKey 化与 LWC 转换崩溃修复

旧对象指针导致内部映射失效的问题通过 TObjectKey 化得以解决。LWC ↔ SWC 之间对齐类型转换时的崩溃也已修复。

来源: 2025-11-14 / 2025-11-24

修复 HLOD 构建期间主世界包被标记为 transient 的问题

解决了可能被错误标记为 transient 的问题。

来源: 2025-11-04

Zen Server v5.7.12: 修复大规模块的 GC / 文件操作 Bug

Zen Server 更新至 v5.7.12,相关的 Bug 已修复。同时 DDC 侧 Zen Cache Store 的压缩缓冲区头部也添加了哈希验证。

来源: 2025-11-20

修复 Modular 构建中使用 constinit UObject 时的构建错误

为支持模块边界(DLL)间的 constinit UObject,进行了大规模重构,相关构建错误和 Self 引用替换的回归也已解决。

来源: 2025-11-14 / 2025-11-18

Substrate / Lumen 方面的多项稳定性与质量修复

包括 Substrate 与 MegaLights / Light Complexity 的相关修复、双面材质背面颜色异常、使用 Toon Model 时的材质重建、LUMEN_MAX_VIEWS 变更时的着色器编译错误、SSS 与 Lumen 法线不一致等,Substrate 方面的修复持续进行。

来源: 2025-11-03 / 2025-11-07 / 2025-11-13 / 2025-11-24

修复 Enhanced Input × 传统输入竞争

Enhanced Input 与传统输入并用时的输入消费处理得到改善,消除了意外的 Action 执行。帧间卡顿期间的同一 Tick 内 Tap 检测也可通过 EnhancedInput.DetectSubTickTapsForNonAxisInputs 控制。

来源: 2025-11-04 / 2025-11-13

修复 WebBrowser JS→UE 函数调用时的内存泄漏

修复了从 JavaScript 调用 UObject 函数时 FString 参数未被释放导致泄漏的问题。

来源: 2025-11-06

修复材质实例的参数缓存竞争条件

解决了游戏线程与渲染线程之间的数据访问竞争。

来源: 2025-11-18

Mover 的即刻移动效果调度

为规避不同 Mover 组件间的 Tick 顺序依赖,新增了在下一帧调度即刻移动效果的工具函数。可在客户端和服务器之间以一致的时序执行移动。

来源: 2025-11-13

修复子关卡变换导致 ISM 预计算数据错误

解决了子关卡存在变换时,ISM 实例层级使用错误预计算数据的问题。

来源: 2025-11-06

修复 LinkerLoad 多线程加载时的竞争条件

解决了多线程资产加载中 VerifyImportInner 周围的竞争问题。

来源: 2025-11-04


🔧 API 变更

FRefCountBase 等合并到 FRefCountedObject

多个引用计数基类合并为 FRefCountedObjectFRefCountBase 已弃用。旧的引用计数 API 将逐步废除。

来源: 2025-11-14 / 2025-11-18

TMemoryView 支持从连续内存范围的隐式转换

可从 TArray / TArrayView 等隐式转换为 TMemoryView / TConstMemoryView,工具函数参数指定更加简洁。

来源: 2025-11-24

新增 TComponentInterfaceProvider<T>::Provides() 辅助方法

新增可简洁描述从 Component Interface 获取组件的新辅助方法。

来源: 2025-11-04

Iris 网络 API 整理

继 9-10 月 BeginReplication / EndReplication 参数整理之后,FNetHandle 的大小扩展、HandlerComponent 的并行执行支持、IsReplicatedObjectRelevantForConnection 实验性方法的新增等,Iris 相关 API 持续整理。

来源: 2025-11-06 / 2025-11-14 / 2025-11-20

PrimitiveComponent 中 Custom Primitive Data 设置逻辑统一

原来在详细信息面板侧的逻辑重新配置到 PrimitiveComponent 中,材质默认值设置等更容易复用(自 10/28 继续)。

来源: 2025-10-28(上月)/ 2025-11 继续

Material GetExpressions 向 BP / Python 公开

材质 / 材质函数的 GetExpressions 可从脚本中调用,编辑器扩展工具编写更加方便。

来源: 2025-11-20

CommonUI UCommonButtonGroupBase 的声音播放控制

SelectNextButton / SelectPreviousButton 公开了 bAllowSound 参数,可从 BP 控制选择音效的播放。

来源: 2025-11-24

FPerPlatformBool 向 BP 公开 + 动态 Property 权限列表

按平台区分 bool 值的类型现在可在蓝图中使用。Property 权限列表也可通过委托动态切换启用/禁用。

来源: 2025-11-24 / 2025-11-25

MeshComponentSetOverlayMaterial / SetParameterValueOnMaterials 支持叠加层

可从 BP 操作叠加层材质槽位及其参数。

来源: 2025-11-13


⚠️ 废弃预告

FRefCountBase 弃用

建议直接使用合并目标 FRefCountedObject

来源: 2025-11-14 / 2025-11-18

Raw Input 插件弃用

旧 Raw Input 插件已弃用,建议迁移到新的实验性 Game Input for Windows 插件。

来源: 2025-11-07

CompositePlane 插件弃用

面向虚拟制片的 CompositePlane 插件已弃用,使用时将显示通知。

来源: 2025-11-04

Composite 插件的 Single Light Shadow Layer 规格变更

阴影投射 Actor 指定变为必需,阴影偏移参数已弃用。现有设置需重新审查。

来源: 2025-11-19

Mass 框架: GET_MASSSIMULATION_CONFIG_VALUE 等宏弃用

建议通过配置类直接访问。

来源: 2025-11-14

Chaos: 旧碰撞过滤器 API 弃用(继续)

作为 9-10 月 Collision Filter 重构的一环,引入 UnionShapeFilter 并更新过滤逻辑,FShapeQueryData 系旧 API 持续弃用。

来源: 2025-11-05 / 2025-11-13 / 2025-11-20

FSlateBrushTemplates 中有问题的函数弃用

可能返回已释放内存指针的函数已弃用(与崩溃修复一并处理)。

来源: 2025-11-20

FPhysicsAssetUtils::SanitizeRestrictedContent 弃用

作为不执行任何操作的函数被整理掉。

来源: 2025-11-14

📌 重点关注模块

Substrate / Lumen / MegaLights: 卡通着色 BSDF 与 Toon 配置文件、Slab/Hair BSDF 参数切换、新材质转换器的 Substrate 共存、Lumen Radiosity Atlas 选项化(减少 24MB+0.12ms)、MegaLights 半透明整合(约 0.05ms)、头发束的 Substrate 光照整合等,在表现面和性能面两方面都是 11 月动作最大的领域。

Iris / Networking: NetRootObjectAdapter 实现非 Actor 的自主复制、服务器端事务内复制、HandlerComponent 的并行执行支持、关卡以外的对象容器支持、FNetHandle 大小扩展等,复制的作用范围和并行性持续扩展。

StateTree / RigVM / Animation: StateTree 达成异步编译队列和评估作用域实例的默认启用,新增输出绑定和新转换目标(Parent/NextParent/NextSelectableParent)。RigVM / Control Rig 进行了资产接口的大规模拆分、姿态资产直接支持、新控制流节点(RunOnce / Timer)、Sequencer Verse 轨道等,整个动画技术栈的重新组织持续推进。