Skip to content

2026-05-19 引擎周报

✨ 新功能

  • 材质编辑器扩展:为材质编辑器添加了布局扩展钩子,为未来引擎功能预留接口。
  • 输入接口增强:在 IInputInterface 中新增 GetAllInputDevices 函数,允许平台返回当前正在使用的所有已注册外部 IInputDeviceModules
  • UMG输入组件:为 UUserWidget 添加了一个虚函数,允许在非蓝图环境中强制创建 UInputComponent,方便程序化输入处理。
  • 远影调试模式:新增 ShowFlag.VisualizeFarShadowCasters 调试模式,用绿色叠加色标识标记了远影的网格体,其他网格体显示为灰色。
  • Vulkan外部纹理:为 WebViewControl 添加了 Vulkan Android 平台的外部纹理支持。
  • Cloud DDC 可观测性:改善了 Cloud DDC 在新分段检测时的增量水合过程,并增强了相关可观测性。
  • 云存储功能:新增在复制构建时覆盖类型的能力。

🚀 重大变更

  • VulkanRHI绑定管线切换:支持从非绑定式切换到绑定式管线,用于预览目的。
  • Verse语言兼容性:在低于特定版本(3200/3700/4000)的包中,静默地将 castable_subtypeconcrete_subtypecastable_concrete_subtype 降级为普通的 subtype
  • 构建规则变更UnrealBuildTool 将规则程序集设置为使用可移植PDB,并使用 Assembly.LoadFrom 修复了调试回归问题。
  • IoStore依赖调整:移除了 IoStoreOnDemand 的公共依赖项,并显式依赖于 IoStoreOnDemandCore
  • Electra解码器重构:VP8/9、AV1 和 APV 解码器现在传递独立的 YUV 平面;相应的工具库扩展了纹理采样以处理独立的 YUVA 平面。

⚡ 性能优化

  • Nanite重建优化:减少了由 Nanite DDC 密钥变更引起的静态和骨骼网格体重建次数。
  • 远程序列化优化:优化了远程对象序列化,减少了哈希查找、内存分配并移除了不必要的代码。
  • PlainProps格式化:格式化了 CTTI 宏使其更具可读性。

🐛 Bug 修复

  • 渲染修复:修复了当 ResolvedView.PreViewTranslation 与用于构建 Global SDF 的值不一致时(如阴影贴图),全局距离场采样错误的问题。
  • 平台与运行时:修复了多个运行时崩溃和错误行为,包括:CompositeCorePF_Unknown 场景颜色格式的保护;控制林中或可视化顶点弹簧时的崩溃;ContextWrapper 绑定的罕见竞态条件;以及 BPI 运行时错误不显示的问题。
  • 动画与序列:修复了 Sequencer 动画混合器根运动在偏移网格蓝图中的动画空间模式错误;修复了序列器装饰宿主区域的所有权语义;修复了曲线编辑器中 Alt+MMB 和 Alt+RMB 的回归问题。
  • 工具链与构建:修复了枚举折叠导致控制林损坏/行为异常的问题;修复了使用旧版 uassets 加载体积数据时的回归;为 iOS 实时构建禁用了可移植工具链。
  • 编辑器与工具:修复了 Teds Hierarchy Viewer 中行错误地父级化的问题;修复了调试引脚孤立时的崩溃;修复了 PCG 生物群系中差异优先级过滤时的缺失链接;修复了输入设备管理器相关的错误警告;修复了 MRG 中使用32位 PPM 和多次空间采样时一帧渲染失败的bug。
  • XR与运动捕捉:修复了 VR 中移动的 Actor 因物理场景过时而无法选中的回归;修复了使用空自定义时间步长和卡顿保护时显示错误警告的问题。
  • 材质与渲染:修复了 DynamicWind 的多个问题;修复了方向性散射颜色回归;修复了体积云在材质非天空时深度超过 FP16 最大值导致的上采样边缘错误;修复了桌面前向渲染中与 ManualDepthTestEqual 相关的着色器编译失败。
  • 其他:修复了测试中的非确定性数组访问;修复了曲线/属性混合权重未正确序列化的问题;修复了 Verse 包向后兼容执行期间无法重映射引脚的警告;修复了构建格式问题。

🔧 API 变更

  • Cook流程:将 packageChunkId 添加到 Cook 制品中,确保没有保存 PackageData 的包也能写入其 chunkID。
  • 自动化测试:将 AIE 的选择类别代码从UI中的 Selecting 移动到 Setting Layer Active
  • 输入子系统:新增 IInputInterface.GetAllInputDevices 函数。
  • 序列化:导出了 SetNetVersionsOnArchive 函数。
  • 约束系统:当父级是控制时,约束不再查找套接字。
  • 模块化装配:修复了错误使用空的 LastExecutedElements 数组的问题。
  • 集合与管理IAD 包排除集。
  • 控制林通道选择:当选择控制的某个通道时,Selected 过滤器现在也会隐式过滤其他同级通道。
  • 内容烘焙:支持为 UAT AutomationUtils 添加 NFL 代码支持。