2026-05-26 引擎周报
✨ 新功能
- 为
Terminal插件添加了图标。 - 新增了 Linux 和 macOS 平台下的
ExportUnrealConsole.sh脚本,方便导出控制台。 - Dataflow 的编辑皮肤权重工具增加了额外检查,以提示用户节点无法保存数据的原因。
- 新增了 PCG Assembly Actor Tagger 实用工具。
- 添加了
RewindDebuggerToolset插件,用于通过 LLM 工具调用进行 Rewind Debugger 检查和导航。 - USD Pregen 实现了对 Skeleton 和 PhysicsAssets 的跟踪功能。
- Volume Encoded UVs 新增了角度扫描重新定向功能。
- 现在可以为写入 ZenStore 的每个 bulkdata 载荷提供额外元数据(此路径默认仍禁用)。
- VisualLogger 添加了
UE_VLOG_WORLDTEXT宏,用于输出世界锚定的调试文本。 - 在新运行时中实现了 ControlRig 动画节点。
- MegaLights 新增了方向光每像素透射率支持。
- 新增了
MassNetwork模块,用于托管 NetID 身份和IMassNetEntityProvider,将UMassAgentSubsystem从硬依赖UMassReplicationSubsystem改为提供者协调器模式。
🚀 重大变更
- Mass Characters 插件已移至主目录。
- 将 Cascade VectorField 粒子模块从 Engine 核心移动到
CascadeRuntime插件中。 - 更新了 DXC (DirectX Shader Compiler) 至 1.10.2605.2 版本,修复了 Mac 平台相关问题。
⚡ 性能优化
- 对 PCG 中分配形状语法原始体的过程进行了更多优化。
- 现在所有平台默认启用了工作窃取任务队列的重试限制。
- MIR 转译器:在 DDC 中缓存转译输出,以提升编译效率。
FCbWriter改用内联分配策略,避免在常见日志中产生额外内存分配。- 优化了
FCommonAnalogCursor::RefreshCursorVisibility,仅在光标实际发生变化时才写入视口,减少了不必要的开销。
🐛 Bug 修复
- 修复了 Slack 虚拟服务器在发送非冲突通知时出现的错误。
- 移除了
DeformPreviewMesh中冗余的FastNotifyPositionsUpdated调用。 - 修复了新材质转译器中的多个问题,包括
Lerp/Clamp结果类型与旧转译器不一致、顶点插值器预算检查不匹配、外部表达式无法为计算阶段转译等。 - 修复了 WorldPartition 中可能分裂引用连接集群的 actor 描述符 mutator 覆盖。
- 加固了 transformers,防止在构建过程中 section actors 被 GC 销毁,改用弱对象指针并跨可触发 GC 的操作重新解析。
- 修复了在报告 landscape 编辑层数据变化时,子属性改变导致的崩溃。
- 修复了在异步加载线程上创建
ALandscapeProxyactors 时可能出现的竞态条件。 - 修复了 PCG 手动编辑工具中 Undo 队列的计数错误。
- 修复了 MassCharacterDebug 中因未独立拥有批处理器和文本回调而导致的幽灵轨迹问题。
- 修复了 RigHierarchy 中
CleanupInvalidCaches第一阶段使用了错误的验证存储,导致空间切换测试失败的问题。 - 修复了 UAF (Unreal Animation Framework) 同步相关的多个错误和改进。
- 修复了功能测试框架中的 Node 16 兼容性问题,并使其
tsconfig与主项目保持一致。 - 修复了功能测试框架启动时的竞态条件。
- 修复了 Shader 编译中
MergeBinaryOpSelect代码生成的问题(条件为标量但选择对象为向量)。 - 修复了新材质转译器中的断言触发问题。
- 修复了 ChaosCloth 中比较
PassthroughObjects时可能出现的数据竞争。 - 修复了 Horde 中
PerforceLoadBalancer服务器选择的 Redis TTL 冲突。 - 修复了
ResavePlainProps命令行工具中损坏的文本打印功能。 - 修复了其他多项问题,包括 Zen 和 DDC 小部件的本地化缺失、Datasmith 3ds Max 导出器的编译警告、材质编辑器中使用毛发着色模型时 “Tangent” 引脚标签的歧义、Android AFS 构建错误等。
🔧 API 变更
Backout操作的用户取消现在会返回一个非零错误码。- 新材质转译器:将最近添加的三元运算符错误行为限制为仅在严格模式下生效。
- 新材质转译器:
GetMaterialAttributes对于断开连接的输入现在默认为空聚合。 - PlainProps: 改进了
ResolveStructSchema/ResolveEnumSchema的检查逻辑,并为模式 ID 参数使用了强类型。
⚠️ 废弃预告
- 移除了未完成的
pauseCISUnlessAtGate功能。 - 移除了
r.DebugRender.SkipWrappedPrint的 A/B 开关。