Unreal doesn't recognize multiple material slots on a single mesh with USD

Hello!

I’m trying to import a mesh using USD that has multiple material slots on that one mesh.

On import, Unreal correctly imports both materials, but assigns the whole mesh to that first material slot and seemingly doesn’t recognize that the mesh is meant to have two material slots on it.

I’ve confirmed that the materials are preserved properly in the USD file by re-importing the USD in Blender, and everything looks good.

Is this a known bug? Any fixes I can implement?

Thank you!
Reid

Which version of the engine are you using?
Could you share the sample with us?

Hello! I’ve tried this on both version 5.2 and 5.3.

Sure, here is a USD that contains one mesh and two materials assigned to said mesh. It won’t let me upload directly to the forum because it’s above 25mb. Inside that folder is the USD file and a subfolder with the textures.

If I import the USD file into Unreal either using the USD Stage or by importing the USD file directly into the content browser, the mesh comes in with its first material applied to the whole mesh.

The second material is imported, and I can see the “GeomSubset” listed in the prim window of the stage, but the mesh only has one material slot and that second material isn’t actually applied.

USD file attached as well as a screenshot of my Unreal project showing the issue. The mesh is a simple plane with two sections, one of which should be the yellow brick material (the area with the larger bricks), and the other is supposed to be a white plaster material (the area with the smaller bricks).

Thank you!
Reid

It seems to be fixed in 5.3.0 that was released yesterday.
However I am confused as the render in USDView application is different.
Where does this file come from? Which software has it been created in?

3 Likes

Amazing! I can confirm on my end as well that the issue is fixed in the new 5.3 build released yesterday.

I’ll mark this thread as solved. Thank you.

Re: your question though, the mesh, materials, and USD was created in Blender 3.6. That’s super strange that it’s not displaying properly in USDView!

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.