MDL Path Resolution Changes#
Summary of the changes for resolving MDL paths:
MDL built-in paths (i.e OmniPBR.mdl, OmniPBR_ClearCoat.mdl, OmniSurface, nvidia/aux_definitions.mdl, nvidia/core_definitions.mdl, OmniUE4Base.mdl, etc.) will no longer be anchored to their referencing layer URL (e.g. https://server/some/other/stage.usd). These MDL built-in paths will still resolve correctly if they live next to the referencing layer URL but that is completely handled by the client-library and not USD
MDL paths not prefixed with “./” or “../” can still be anchored relative to the referencing layer if they exist and the referencing layer is a URL or file path on disk
MDL built-in paths are no longer considered search paths
MDL built-in paths are no longer considered relative paths unless prefixed with “./” or “../”
This behavior works through SdfAssetPath type Attributes without modifying Sdf
This behavior can be enabled / disabled by setting the environment variable OMNI_USD_RESOLVER_MDL_BUILTIN_BYPASS or in <APPLICATION>/kit/extscore/omni.usd.config/omni/usd_config/extension.py
At the moment, this resolve behavior is disabled by default by can be easily switched