2026-06-10 引擎周报
✨ 新功能
- 为 RigVM 增加了对事件节点可变输出引脚的支持。
- 在 UnrealEd 中初步提交了 ModelessTools 和 InteractiveVisualizers 模块,并将其与 FEditorModeTools 集成,提供了新的编辑器交互模式基础。
- 新增 CheatsToolset 编辑器插件,提供列出并调用本地玩家 Cheat Manager 上作弊命令的 AI 工具集。
- 新增 EditorAppToolset 工具,包括通知、缓存资产缩略图、视口显示标志/视图模式和编辑器模式等功能。
- 为 StateTree 层级图视图添加了逐过渡引脚,每个状态节点针对每个传出过渡暴露一个输出引脚,针对每个传入过渡暴露一个输入引脚。
- 为 AIE 在加载动画或烘焙到控制绑定时添加了“Bale To Interval”选项。
- 为 FPropertyBagRepository 的占位符类型创建过程添加了 DisplayName 元数据设置。
- 为 FCameraViewportClient 添加了
CalcSceneViewInitOptions以支持 ModularViewport。 - 为 AI Assistant WebApi 添加了
BypassSignInRequirement及相关测试。 - 为 asset tools 添加了
reload_asset工具,并优化了工具集描述。 - 在 Dataflow 中实现了 PreviewBP 功能。
🚀 重大变更
- 将 Lumen 的
r.Lumen.IrradianceFieldGather.NumClipmaps参数更改为 6,使其在 Medium Quality 设置下可覆盖距摄像机 160,000 单位的范围。最后两个 clipmap 会在硬件光线追踪半径或软件光线追踪场景视距较小时被剔除。 - 启动了 MetaSound Controller API 向 Builder API 迁移的第一阶段。
⚡ 性能优化
- 为 MassCharacters 注册的 CVars 添加了 Scalability 标志,使其可通过 Scalability
.ini文件进行设置。 - Nanite RT 现在使用 RootPageIndex 代替 RuntimeResourceID,以避免因版本位导致的数组过大。
- 重构了 HWRT/D3D12 中 LSS 代码路径对 IndexBuffer 的检查逻辑,并将内联分配器大小减小为 1,因为 LSS 的使用场景并不常见。
- 优化了 Mover 组件在提取根运动角速度前强制进行最短弧旋转的逻辑。
- 为 ToolsetRegistry 在工具集工具执行时抑制了编辑器 CPU 节流。
- PCG:为网格地形组件的获取添加了延迟处理,并使用网格边界进行过滤。
- Mutable:修复了由于一个
SK_Newop 流送了超出范围的 LOD 而导致骨骼网格体 LOD 流送挂起的问题。
🐛 Bug 修复
- PCG:修复了
PCGTexture2DArrayDataInterface中的 HLSL 编译错误。 - PCG:修复了生成半径和高度网格单元指数的弃用问题,半径未被正确相乘。
- PCG:修复了在 OpenGL-ES 平台上草体无法正常工作的问题。
- PCG:修复了在保存 RGBA 浮点纹理到资产时未保留 alpha 通道的问题。
- PCG:更新了 World Partition Builder 以在需要时忽略所有 Perforce 错误。
- UAF/RigVM:修复了在 UAF 编辑器中,变量按错误的内存布局顺序添加的问题。
- UAF/RigVM:在 UAF 中禁用了 ST 图视图。
- UAF:修复了
FUAFAnimOpTrack::UpdateInternal在细节对象被垃圾回收时导致的崩溃。 - UAF:修复了
AnimNextFunctionReferenceDetails::GetCurrentFunctionHeader中的空指针解引用崩溃。 - UAF:修复了对齐应用附加动画操作属性,以便在 Rewind Debugger 中查看。
- 渲染:修复了 MoviePipeline 中在 Accumulation DOF 组件启用运动模糊且“使用抖动抗锯齿”选项激活时,会意外禁用 DOF 效果的问题。
- 渲染:解决了当材质使用
MaterialExpressionMainDirectionalLightIlluminance或MaterialExpressionMainDirectionalLightDirection时,RTPSOs 编译失败的 HWRT 变通方案。 - 渲染:修复了 Slate 中当存在多个失效根时,
GSlateIsOnFastUpdatePath被错误设置的问题,该问题会导致滚动框在子项离开可见区域后仍绘制其缓存几何体。 - 渲染:修复了 Material Graph Editor 中材质表达式缩略图渲染会错误覆盖主材质 insights 的 bug,导致大量连线因无法从相关节点访问而变白。
- 渲染:修复了 Landscape Layer Blend 材质表达式的各种问题,保留了通过 CVar 使用旧有行为的能力。
- 渲染:修复了 Niagara 中 NDC GPU 实例计数器泄露的问题。
- 渲染:修复了由于
ASTP在注册时使用流送下限和MinLOD导致的流送崩溃问题。 - 工具:修复了在子菜单滚动时过滤菜单可能导致的崩溃。
- 工具:修复了
SplineComponentVisualizer在 Linux ASan 启动测试中因堆使用后释放导致的问题。 - 工具:为 TMultiSpline 添加了在加载时对空子样条的防护。
- 工具:在工具脚本执行期间禁用了事务。
- 工具:避免了在使用
REN_Test标志重命名 UBlueprint 时删除或移动冲突的 UObject。 - 输入:修复了 StylusInput 在以
-renderoffscreen运行编辑器时,Wintab 在启动时崩溃的问题,并增强了对离屏运行时平台应用为空的鲁棒性。 - 数据:修复了 Data Registry 中在链接问题后又解散它们时,问题视图会移除摘要的问题。
- 动画:修复了复制集合并资产时的崩溃。
- 动画:修复了混合遮罩在第二次尝试重新填充权重值包时的崩溃。
- 物理:修复了 StateTree 中过渡引脚边缘法线计算的潜在空指针解引用问题。
- 物理:修复了刚性凸几何体弃用警告中关于边距获取的问题。
- 网络物理:现在可以选择性地在网络物理重新模拟期间使用缓存的悬架射线检测,但仅适用于模拟代理。
- AI/LearningAgents:修复了在智能体没有有效观测时,流匹配推理中的 NaN 断言问题。
- AI:修复了
FAnimNextFunctionReferenceDetails::GetCurrentFunctionHeader中的空指针解引用崩溃。 - 动画:修复了 Groom 指南可视化时的崩溃。
- 动画:修复了在不支持毛发渲染的平台上,混合类型(股线/卡片/网格)LOD 毛发在最近距离消失的问题。
- 蓝图:修复了在使用“Set”节点且输入为空时,
FActiveGameplayEffectHandle中的HandleValue未被重置的问题。 - 蓝图:修复了无需编译即可在本地变量上设置/获取蓝图变量提示和分类的问题。
- 蓝图:修复了由于非归一化局部空间旋转导致的检查失败问题。
- 蓝图:确保了工具集创建的蓝图注释框被正确分配了 GUID。
- 构建/安装:为 Installed Build 将 Linux/Mac UBA 二进制文件复制到了 DDC 临时工作区。
- 音频:为 Wasapi 端点启用了 Windows Audio Processing Objects 的使用。
- 平台:Linux 平台现在使用 SDL3 后端的 AudioCaptureCore 实现。
- 平台:处理了 Windows Editor 中因 LLM 和 Lore 组合导致的大线程数问题,临时提高了
FPlatformTLS可服务的线程数上限。 - NvAPI:使用 SEH 执行以跳过
NvAPI_D3D_GetSleepStatus中的崩溃。 - 资产:修复了 FPropertyBagRepository 中
CreatePropertyBagPlaceholderType未设置新创建占位符类型的 DisplayName 元数据的问题。 - PCGExternalDataInterop:为下游项目构建,在
PCGLoadAlembicElement.h中采用了每方法 UE_API 导出模式。 - PlainProps:通过注册
/Test/为挂载点,修复了代码生成的测试资产往返错误的问题。 - 热修复:添加了一条路径,可在即使没有热修复差异的情况下也无条件应用存储的热修复更改,以解决服务器重启等场景下 DefaultGame 变更无法被重新应用的问题。
- 序列化:重新添加了显式的空资源检查以满足 CIS 静态分析器。
- 虚实:修复了
SVariableWatch::RegenerateDebugInstances中空分析会话的崩溃。 - Level Status:为
GetSubLevelsStatus添加了进一步的功能,并将持久关卡的 Actors 添加到了LevelStatus::ActorMapToCount容器中。 - 资产:修复了 Level Instance 修饰符在关卡卸载后仍存在于 Mesh Partition 编辑器组件的
CurrentModifiers中的问题。
🔧 API 变更
- 启动了 MetaSound Controller API 向 Builder API 迁移的第一阶段。
- 添加了
[at]export_metadata编译器基础设施。 - PCGExternalDataInterop:为下游项目构建,在
PCGLoadAlembicElement.h中采用了每方法 UE_API 导出模式。 - 将
llm_session重命名为ai_session,将llm_prompt_error重命名为ai_error,将[at]llm_description重命名为[at]ai_description。 - Nanite:现在使用编译输出标志进行材质位标志中的顶点插值器检测。
- 为
TOptional::GetValueOrEmplace实现了评审反馈。 - 在 FPackedRemoteObjectHeader 中添加了 OuterIdIndex。
⚠️ 废弃预告
- 修复了 Landscape Layer Blend 材质表达式的各种问题。旧有行为仍可通过
landscape.UseLegacyLayerBlendMaterialExpressionBehaviorCVar 使用(需要重启)。