Improvement Suggestions for USD Integration

Hi Epic,

I thought of sharing with you a document that covers the topic of using USD.

It might also be helpful for you to see the kinds of issues we’re encountering in the USD pipeline in correlation with Unreal Engine.

The main REFs that come to my mind based on the attached document are:

  • implementing embedded MaterialX functionality also into the USD Stage Importer (since it is currently more functional and allows live opening of USD files with editing options)
  • implementing support for specular maps in the USD Preview material (as this map is still widely used)
  • investigating why the “scramble” (described in PDF) issue occurs with maps in the USD Preview. In UE 5.6 I haven’t run into it yet — it seemed difficult to reproduce, as the same USD file would sometimes show the issue and other times not.

Hi Martin,

Thanks for your feedback and the very detailed document about your explorations.

To your specific questions:

  • We have been considering the feasibility of back-porting the “embedded” MaterialX support to what is now the legacy import pathway, which is what the UsdStageActor uses. We’ve been working on a new Interchange-based USD import over the last few releases and are nearing completion on that, and that is currently where embedded MaterialX is supported. In the meantime, the UsdStageActor continues to use the non-Interchange legacy import functionality, which only supports MaterialX when it is referenced into a USD composition and not when it is encoded directly in USD as UsdShade. While we’re not currently able to commit to supporting embedded MaterialX in the legacy import, we are discussing trying to do so.
  • The somewhat limited support of specular color with UsdPreviewSurface is more a reflection of how UE’s shading model has traditionally worked. UE favors the metallic workflow, and has a scalar specular control to dial the overall specularity up or down, and it’s not possible to plug in a color value or texture to that input. UsdPreviewSurface supports that mode when useSpecularWorkflow is false. We may be able to support the specular workflow better soon though with the new Substrate material system.
  • We’ve not seen the scrambling issue that you mention, but if you’re able to put together a reproducible test case, we’d be happy to take a look.

-Matt