Mdl scope not recognized in Unreal

By default, in the BLENDER 3.4 ALPHA USD BRANCH, exporting to a USD will create a Shader within a scope titled “mdl” for each material.

In Unreal, the Shader within the mdl scope is not distilled, regardless of the Render Context chosen in Project Settings.

A temporary work-around is to move the Shader outside of the mdl scope to the top-level of the material, which allows the material to distill properly within Unreal. This is however time intensive, as it must be done for every material in the USD.

Plugin information:

Omniverse Plugin Version: 200.1.290.afa112f0
MDL Plugin Version: 200.1.290.afa112f0
Omniverse Client Library Version: 2.15.0-main.3210+tc.e33a9103
USD Version: 20.8
Build Date: Sep 9 2022

Hello @production5! I informed the dev team of this issue. I will post back as soon as I have more information to share!

1 Like

Yes, we just reproduced this and have filed an internal issue for it, OM-63457. Thank you for pointing it out, we’ll see if we can address it quickly.

1 Like

We’ve fixed the issue locally. I don’t have an exact date for the next release where this will be fixed. If you’re handy with patches you should be able apply this to the plugin source and your issue will be fixed.

0001-Fix-loading-material-that-has-a-scope-between-the-Ma.patch (7.5 KB)

1 Like

This is perfect, thank you Lou!