Extension: omni.kit.usd.mdl-1.1.8

Documentation Generated: Nov 13, 2025

Overview#

omni.kit.usd.mdl integrates MDL shader discovery and parsing into the Omniverse Kit SDK. It configures the USD MDL environment by setting relevant process variables and initiating the required MDL plugin. This extension is designed to support the discovery and loading of MDL shaders within USD scenes while providing public APIs for querying shader nodes and metadata.

Concepts#

  • MDL Shader Discovery: The extension uses environment settings and the “rtx.usdmdl.plugin” to locate and parse MDL shader definitions.

  • Public API Exposure: Key APIs like Notice, Neuray, OmniSdrShaderNode (and its list), RegistryUtils, Tokens, Types, and related metadata classes offer a standardized interface for interacting with MDL shader data.

  • Environment Configuration: During startup, the extension sets up the necessary conditions based on project settings to ensure that preview surfaces and associated MDL modules load correctly.

Functionality#

  • Shader Node Management: Users can retrieve shader node information—with functions to get asset paths, module identifiers, and shader node overloads—supporting tools and pipelines that need to inspect MDL shader properties.

  • Metadata and Token Handling: The extension defines a set of standardized metadata values and tokens, which simplify the categorization and retrieval of shader properties.

  • Plugin Initialization: By starting the “rtx.usdmdl.plugin” on startup, the extension ensures that MDL discovery and parsing are available as soon as the Omniverse environment is in use.

Relationships#

  • Dependencies: omni.kit.usd.mdl requires the “omni.mdl.neuraylib” and “omni.usd.libs” extensions. These dependencies provide foundational MDL functionalities and USD support.

  • Module Structure: The public API is exposed via the omni.UsdMdl module, ensuring that MDL shader functionality is accessible in a streamlined manner across the Omniverse Kit ecosystem.

Considerations#

  • Non-toggleable and Non-reloadable: As indicated by its core configuration, the extension is designed to initialize once at startup and cannot be toggled off during runtime.

  • Early Initialization: The extension’s environment configuration and plugin activation occur early during startup, which is essential for consistent MDL shader discovery throughout the session.

This extension offers a practical bridge between MDL shader resources and USD scenes, making it a key component for developers needing to integrate MDL shader capabilities into their workflows.