Skip to content

2026-05-16 引擎周报

✨ 新功能

  • PCG: 为节点调色板中的 GPU 友好节点添加了徽章标识。
  • VisualLogger: 添加了基于类别的专用过滤层。
  • GaussianSplat: 公开了 GaussianSplat 和 NiagaraGaussianSplat 插件。
  • nDisplay: 增加了对接收器掩码覆盖和静态页面阴影掩码的可视化模式。
  • Horde: 实现了市场工具同步、依赖项强制执行以及 Toolbox 依赖项 UI。
  • Toolbox: 为主题选择器添加了系统、浅色、深色模式选项。

🚀 重大变更

  • Horde/Toolbox 测试框架迁移: 将 UnrealGameSyncShared.Tests 和 UnrealToolbox.Tests 的测试框架从 xunit v2 迁移至 xunit.v3。
  • DDC 重构: 将 LegacyGet/LegacyPut/LegacyDelete 移入 FDerivedDataCache,并移除了 ILegacyCacheStore 在缓存层次下层的使用。
  • VerseAbility 更新: Verse 中的 Ability 不再是一个组件。
  • Shader 编译器: 将 SPIRV-Tools 更新至 c1cb30bb04e2bf911755a40df1242cc6e3d83e26,并将 SPIRV-Headers 升级至 ad9184e76a66b1001c29db9b0a3e87f646c64de0。
  • FIoStoreShaderLibraryProcessor: 更新以支持将 shader 库移动到其他容器。
  • QueryHandle: 将静态 invalidHandle 的值从 uint64::max() 修改为 0。

⚡ 性能优化

  • Verse: 修复了因大量使用泛型类型导致的 O(n^2) 编译速度下降问题。
  • IoStoreDependencyViewer: 实现了 V1/V2 按需 TOC 调度。

🐛 Bug 修复

  • Vulkan: 修复了 Vulkan pipeline 缓存加载崩溃,并解决了在 Android 上可能引发的启动循环问题。
  • nDisplay: 修复了当 GUI 纹理尺寸小于视口尺寸时出现的闪烁问题。
  • iOS 构建: 修复了 iOS mobileprovisioning 加载失败的问题,现在使用正确的证书加载方式,解决了在 Windows 上进行 iOS 构建失败的问题。
  • Shader 编译: 修复了 MIR 常量文件夹在 UO_Sign 上断言的问题。
  • 材质编辑器: 修复了在 Shader 编译期间编辑器视口旋转功能失效的问题。
  • 新材质翻译器: 修复了多个问题,包括对断开的 reroute 节点的兼容性处理、未连接输入的错误以及在兼容模式下处理断开的静态开关输入。
  • PCG: 修复了分区 Actor 的“加载为预览”流程被破坏的问题,以及 MeshTerrainMode 仅在编辑器目标中作为插件依赖项被拉取的问题。
  • 动画: 修复了 SkewWarp 在动画根体运动极小但非零时因数学错误产生 NaN 的问题。
  • 物理编辑器 (PhAT): 修复了 UI 标签页问题,并添加了质心线粗细的用户设置。
  • DDC: 修复了异步请求在层次结构中的跟踪问题以解决 WaitForQuiescence 问题,并移除了 DDC.MountPak 和 DDC.UnmountPak 控制台命令。
  • AABB Tree: 修复了构建过程中的崩溃问题。
  • Mesh Partition: 修复了 MeshPartitionDefinition 中的通道纹素大小未被正确应用的问题。
  • VisualLogger: 恢复了在向 IVisualLoggerImmediateRenderSink 过渡中丢失的画布文本回声路径,并修复了用户设置的重复注册问题。
  • FMeshPassProcessor: 修复了客户端启动时的断言错误。
  • GFP Pak: 修复了卸载时导致 Shader PSO 崩溃的问题。
  • Sequencer: 移除了 UMovieSceneAudioSection::IsPostLoadThreadSafe 的临时解决方案。
  • Verse: 修复了 Control Rig 中单元结构函数为空指针时的防御性错误。
  • Horde: 修复了作业遥测 ID 问题。
  • 材质流: 修复了在新材质翻译器中 TextureStreamingMarkup 代码使用错误方法的问题。
  • Curve Editor: 修复了时间扭曲曲线模型的问题。
  • Mesh Description: 修复了在迭代过程中从映射中删除元素可能导致的错误。
  • IO 依赖查看器: 修复了格式化字符串相关问题。
  • EOS: 修复了 EOS 连接令牌过期时导致的冻结问题。
  • Text3D: 修复了仅在编辑器中定义的函数问题。
  • PhAT: 修复了质心线粗细用户设置。
  • WebTests: 修复了测试用例中 double 转 float 时的警告。

🔧 API 变更

  • OpenColorIO: 优化了在保存时刷新 ConfigHash,并将 PostLoad 的脏标记和日志限定到实际的变换生成阶段,消除了 Cook 过程中多余的“应重新保存以加快加载”警告。
  • AI Assistant: 处理了加载页面不包含 EDA API 的情况。
  • 新材质翻译器: 为 FEmitter::SetCustomOutputs 添加了逐输出跳过支持,并对外部化了 LocalPosition / WorldPosition 发射器助手函数。
  • 外部资产验证: 向 Python 公开了 FValidateAssetsExternalObject 和 FValidateAssetsDetails 结构体。
  • 客户端资源打包: 支持从非 Bindless 切换到 Bindless 管线,用于预览。
  • HWRT: 为 SkeletalMesh 的 StaticRayTracingGeometry LODs 打上了正在流式加载的标记。
  • Liquid Interior Override: 修剪了过时的属性覆盖条目。

⚠️ 废弃预告

  • DDC: 已移除 ILegacyCacheStore 接口,相关功能已合并至新接口。