Extension: omni.hydra.pxr.settings-1.0.9

Documentation Generated: Oct 09, 2025

Overview#

The omni.hydra.pxr.settings extension provides renderer settings management for an external Hydra delegate in the Omniverse Kit SDK. It extends the base RTX renderer settings functionality to support registration and control of custom renderers in both the RenderSettings widget and the viewport drop-down menu.

_images/preview.png

Concepts#

This extension is designed to integrate external Hydra delegate renderers with the Omniverse Kit UI. It leverages a base class from the RTX renderer settings module and builds on it to add methods for registering, unregistering, and toggling custom renderers. In doing so, it ensures that external renderer configurations are consistently represented in the UI.

Functionality#

  • Renderer Registration: The extension allows developers to add a custom renderer so that it appears in both the RenderSettings widget and the viewport’s renderer menu. The registration functionality is accessed through static methods that take a unique plugin identifier, a list of renderer stacks for visibility filtering, and a display name.

  • Renderer Control: Using corresponding methods, developers can unregister a renderer or change its active state within the viewport. This behavior ensures that changes in renderer configurations are immediately reflected in the user interface.

Relationships#

  • Dependencies: This extension depends on omni.rtx.window.settings for its foundational RTX renderer settings and omni.hydra.pxr for Hydra delegate integration. Additionally, it relies on omni.ui to display the settings in a consistent UI.

  • Integration: By extending the RTX renderer settings factory, the extension seamlessly integrates with the existing render settings pipelines in the Omniverse Kit SDK, making custom renderer management straightforward and centralized.

Usage Examples#

A typical usage involves importing the RendererSettingsFactory and registering a new renderer:

from omni.hydra.pxr.settings import RendererSettingsFactory

# Register a custom renderer so it appears in the RenderSettings widget and viewport menu.
RendererSettingsFactory.register_renderer("my_custom_plugin", ["stackA", "stackB"], "My Custom Renderer")

# To later disable or remove the same renderer:
RendererSettingsFactory.disable_viewport_renderer("my_custom_plugin")
RendererSettingsFactory.unregister_renderer("my_custom_plugin")

Considerations#

  • This extension focuses on exposing a stable API for managing renderer settings related to external Hydra delegates.

  • It is intended for developers who need to integrate custom rendering solutions into the Omniverse Kit UI environment.

  • Since the extension builds on the RTX renderer settings, changes in the base implementation may influence its behavior.

Overall, omni.hydra.pxr.settings streamlines the process of integrating and managing external Hydra delegate renderers, providing a clear and concise API for customization within the Omniverse Kit framework.