Request for UDIM Support in USD Stage Editor

Hi Epic Team,

I’m aware that UDIM support is planned as part of the new Interchange workflow. However, I would like to kindly ask if it would be possible to also implement UDIM support directly in the USD Stage Editor, similar to how it’s currently handled for USD Preview Surface materials.

The main challenge is that the Interchange workflow is currently not yet suitable for production use, as it lacks support for key features such as instances, lights, and cameras. This presents a significant blocker for practical adoption of USD in our pipeline, where the use of UDIM textures is a standard.

At the moment, we are only able to transfer assets with working materials by using the USD Preview Surface, which comes with major limitations.

For example:

  • The USD Preview shader doesn’t support specular textures
  • Translucent materials are essentially unsupported

To help illustrate the issue, I’ve attached two sample USD files:

  • Version C uses a USD Preview Surface material with

.1001.jpg* syntax.

  • :white_check_mark: This works in Unreal Engine (UDIMs load), but of course only the first tile (

1001.jpg* ) loads in Omniverse or Houdini.

  • Version E uses properly referenced MaterialX materials with UDIM textures using the

<UDIM>.jpg* syntax.

  • :white_check_mark: This works in Omniverse and Houdini, but unfortunately not in Unreal Engine.

Would it be possible to update USD Stage Editor to support the setup used in Version E?

Thank you very much in advance for considering this request!

Best regards,

Martin Gálik UPP

Steps to Reproduce
Open Unreal Engine.

Use the USD Stage window to load the included test USD files:

  • version_C.usda
  • version_E.usda

Observe the following:

  • Version C (using USD Preview Surface + .1001.jpg textures):
  • UDIMs load and display correctly in Unreal
  • Version E (using MaterialX + <UDIM>.jpg syntax):
  • UDIMs load correctly in Omniverse and Houdini, but do not display at all in Unreal via USD Stage.

Hi Martin,

This is now supported in ue5-main (https://github.com/EpicGames/UnrealEngine/commit/935fe5c883b5a6861131bda925ffa21154447d67\) and will be part of 5.7.

The issue was with the Interchange MaterialX translator so when it was fixed, it was fixed for both Interchange USD and USDImporter (for the latter, it supports external MaterialX references only).

However, the current MaterialX version that is integrated in UE is 1.39.3 and it has some issues loading your MaterialX files (v. 1.38). Nodes with the nodename attribute cannot have a value attribute so I had to manually delete the value attribute from those nodes to be able to import the MaterialX.

[Image Removed]

Cheers,

Anousack

Thank you! I will try to get the latest UE build from our devs and test it. I found the “value” attribute in mtlX files, so I will try to do the same and remove all value atributes where the nodename is present…

Hi Martin,

Here are the values that must be deleted:

From ground_UDIM_mat.mtlx:

[Image Removed]From basic_UDIM_mat.mtlx:

[Image Removed]Regards,

Anousack

Just tested latest build and yes it worked fine! There were some light errors but UDIMs worked with tweaked mtlx files… If only it could work with both old and new MtlX definition, that would be fine as well. But this is promising!

Thank you!

That’s great! We’ve noted the compatibility issue between the different versions of MaterialX.

Thanks for reporting back.

Best regards,

Anousack