Changelog#

The format is based on Keep a Changelog.

[1.15.1] - 2026-09-01#

Fixed#

  • OMPE-41442: Restored the pre-1.15.0 signatures of bind_material_to_prims(), get_on_material_changed_callback() and get_on_dragdrop_callback(). Widening these public override points broke external subclasses such as omni.kit.variant.editor’s UsdVariantBindingAttributeWidget; the material purpose in focus is now read from the widget.

[1.15.0] - 2026-07-17#

Added#

  • OMPE-41442: Material bindings authored for the preview/full purposes are now visible and editable in the binding widget. When the selection has one, a purpose dropdown offers “All Purpose” (first and default), “Preview” and “Full”; the purpose in focus filters the materials shown and is the purpose the BindMaterial command authors. Purposes and materials come from USD’s binding resolution, so collection bindings and bindings inherited from an ancestor are included, and anything unbound for the purpose in focus shows “None”.

  • OMPE-41442: material_utils.get_bindings_per_purpose() and get_bound_purposes() resolve a selection for every material purpose in one batched pass, and MaterialBindingWidget.bind_material_to_prims() takes an optional purpose argument.

Changed#

  • OMPE-41442: UI behaviour change. A selection showing more than one material is now represented by a single summary widget instead of one row per material, for every purpose. The per-material rows and their thumbnails are gone: Copy/Paste, Go to material, binding strength and drag-and-drop now act on the whole selection, and the material and prim names are listed in the summary widget’s tooltips.

  • OMPE-41442: Thumbnail Copy / Paste / Paste To All act on the purpose in focus instead of always on All Purpose, so a prim shown as “None” for a purpose copies nothing.

  • OMPE-41442: get_binding_from_prims() reports only bindings authored for the requested material purpose instead of USD’s allPurpose fallback, and no longer returns a prim_paths key.

  • OMPE-41442: The binding widget resolves the selection once per material purpose with USD’s batched ComputeBoundMaterials() instead of resolving every prim up to five times per rebuild, so selections of many prims rebuild significantly faster.

[1.14.10] - 2026-07-02#

Changed#

  • OMPE-40416: Hide the material picker popup in test tearDown so it doesn’t leak into later tests.

[1.14.9] - 2026-06-22#

Fixed#

  • OMPE-90165: Drag-drop material tests now verify the bound material by its MDL source asset instead of the prim name, fixing false failures from subidentifier-based prim naming.

  • OMPE-90165: Split the heavy test_group1 shard into three balanced ~90-100s groups (test_group1, test_group3, test_group4) so the slow interactive drag-drop/golden-image tests no longer push a single process to the 300s timeout.

[1.14.8] - 2026-05-06#

Fixed#

  • ColorspaceMetadataObjectModel._create_shader_input: use Sdr.ShaderNode.GetShaderInput (GetInput is not available on OmniSdrShaderNode).

  • ColorspaceMetadataObjectModel._create_shader_input: use SdfTypeIndicator.GetSdrType (GetNdrType was renamed; method no longer exists).

  • Added more tests for code coverage

Added#

  • Unit-level tests covering commands, models, placeholder builders, utility functions, and material-binding helpers (production-code coverage 90% → 92.5%).

  • # pragma: no cover markers on defensive paths (error handlers, registry/mtlx fallbacks, SDR-unsupported render-context branches, MDL-loading guards, UI-lifecycle clean()).

[1.14.7] - 2026-04-14#

Changed#

  • OMPE-43453: replaced ensure_future with run_coroutine

[1.14.6] - 2026-02-26#

Changed#

  • OMPE-60907: Improvements to copy/paste properties

[1.14.5] - 2026-03-05#

Changed#

  • OMPE-84267: Make MaterialX parameters with defaultgeomprop attributes read only.

[1.14.4] - 2026-03-03#

Changed#

  • OMPE-81516: Refactor OmniPlaybackAPI schema to be codeless.

  • OMPE-84268: Fix widget for MaterialX index parameters.

[1.14.3] - 2026-02-23#

Changed#

  • OMPE-81958: Fixed linting errors

[1.14.2] - 2026-02-12#

Changed#

  • OMPE-81958: Fixed linting errors

[1.14.1] - 2026-01-29#

Changed#

  • OMPE-57259: Fixed API imports

[1.14.0] - 2026-01-15#

Changed#

  • OMPE-60907: Improved copy/paste of material/shader/nodegraph properties

  • Updated get_group_properties_clipboard() to have clipboard_id, so widgets can use incompatible clipboard data without causing exceptions by changing id.

  • Updated set_group_properties_clipboard() to have clipboard_id, so widgets can use incompatible clipboard data without causing exceptions by changing id.

  • Added _clipboard_can_copy, _clipboard_on_copy, _clipboard_can_paste, _clipboard_on_paste, _clipboard_can_reset, _clipboard_on_reset so functions can be overridden in subclasses

[1.13.0] - 2025-12-08#

Changed#

  • OMPE-41442: Revert changes in 1.12.5.

[1.12.8] - 2025-12-18#

Changed#

  • OMPE-72428: Add support for MaterialX shaders using sourceAsset/subIdentifier

[1.12.7] - 2025-11-26#

Changed#

  • OMPE-58271: Fixed omni.kit.material.library imports

[1.12.6] - 2025-11-12#

Changed#

  • OMPE-33118: add custom model for colorspace metadata.

[1.12.5] - 2025-11-03#

Changed#

  • OMPE-41442: Update material purpose based on the current active render delegate.

[1.12.4] - 2025-10-31#

Changed#

  • OMPE-50729: add support for applied schemas

[1.12.3] - 2025-10-29#

Changed#

  • Add explicit import for omni.client

[1.12.2] - 2025-07-25#

Changed#

  • OMPE-56746: Updated ui.Menu & ui.Separator to use menu_compatibility=False

[1.12.1] - 2025-07-16#

Changed#

  • OMPE-55654: Redraw widget on value change of attributes that are of type Sdf.ValueTypeNames.Asset or Sdf.ValueTypeNames.AssetArray

[1.12.0] - 2025-04-03#

Changed#

  • OMPE-37176: Update to async ui building.

[1.11.10] - 2025-05-07#

Changed#

  • OMPE-44001: Added PlaceholderAttribute create attribute handler

[1.11.9] - 2025-05-01#

Changed#

  • OMPE-45212: ensure extension test data is local to this extension.

[1.11.8] - 2025-04-07#

Changed#

  • Updated to use omni.usd via eventdispatcher (Events 2.0) instead of EventStream (Events 1.0)

[1.11.7] - 2025-03-26#

Changed#

  • OMPE-41459: ensure MaterialX hard and soft range metadata is typed correctly.

[1.11.6] - 2025-02-28#

Changed#

  • OMPE-38466: refactor delayed rebuild widget logic that is called as a result of the UsdMdl.Notice.[ModuleLoaded|ModuleReloaded] callbacks being triggered.

[1.11.5] - 2025-02-21#

Changed#

  • OMPE-29401: Add support for /app/properties/material/mdlForceRawForUsage setting.

  • OMPE-35155: Add support for decoupled texture colorspace parameters.

[1.11.4] - 2025-01-13#

Changed#

  • OMPE-27796, OMPE-27800: Updated public API.

[1.11.3] - 2025-01-22#

Changed#

  • OMPE-33662: Add support for Material parameter sdr metadata hints

[1.11.2] - 2024-12-20#

Changed#

  • OMPE-31903: Use omni.usd.make_valid_identifier instead of Tf.MakeValidIdentifier to support unicode characters.

[1.11.1] - 2024-12-16#

Added#

  • OMPE-28754 - update utils.get_sdr_shader_property_default_value to add support for case where an enumerated value is mapped to a Token or String value.

[1.11.0] - 2024-10-01#

Changed#

  • Update verion for OpenUsd-24.0.5

[1.10.17] - 2024-10-28#

Added#

  • OMPE-26146: MDL reloading causing widget to hang.

[1.10.16] - 2024-10-10#

Added#

  • OMPE-24805: special handling of UsdShade.Material outputs in ShaderInfoAPI.

  • Add getter convenience functions to UsdShadePropertyPlaceholder.

[1.10.15] - 2024-10-01#

Added#

  • replace UsdMdl with omni.UsdMdl

[1.10.14] - 2024-09-24#

Fixed#

  • OMPE-22434 - Remove invalid attributes and connections upon subidentifier change + relevant tests.

[1.10.13] - 2024-09-18#

Fixed#

  • OMPE-21559 - Update colorspace gamma comparison to use math.is_close w/ relative tolerance to account for floating-point imprecision.

[1.10.12] - 2024-09-05#

Fixed#

  • OMPE-20845 - Fix iteration bug in MdlMatrixAttributeModel.update_value().

  • Remove irrevelant info:* properties on info:implementationSource change.

  • Ensure pending_rebuild_task is None in reload callback.

[1.10.11] - 2024-09-04#

Fixed#

  • OMPE-19544: Add support for incompatible subidentifiers.

[1.10.10] - 2024-09-01#

Added#

  • OMPE-20378: correctly remove attributes and/or connections when UsdShade prims definition has changed.

  • Extend ShaderInfoAPI to handle UsdShade.NodeGraph prims.

[1.10.9] - 2024-08-12#

Added#

  • OMPE-16191: replace usd.mdl with UsdMdl.

[1.10.8] - 2024-06-28#

Changed#

  • Updated documentation with AI agent.

[1.10.7] - 2024-06-27#

Added#

  • OMPE-13639: materialx uimin/max range annotations ignored.

[1.10.6] - 2024-06-27#

Added#

  • OMPE-13564: material inputs not displayed if their name conflicts with a shader parameter of the same name.

[1.10.5] - 2024-06-25#

Added#

  • OMPE-12904: disable removal of material attributes whose values have been reverted to their default state.

[1.10.4] - 2024-06-15#

Added#

  • OMPE-12271: fix bad attribute reference in usd_attribute_widget

[1.10.3] - 2024-06-13#

Added#

  • Assertion that resolved extension path is not None

[1.10.2] - 2024-06-07#

Fixed#

  • OMPE-11130: Add compatibility layer/stub modules for scripts.material_utils and usd_binding_widget to maintain backwards compatibility.

[1.10.1] - 2024-06-06#

Fixed#

  • OMPE-10813: Remove material properties if they have been set to their default values.

  • Fix path to renderContexts persistant setting.

[1.10.0] - 2024-05-29#

Fixed#

  • OM-118687: Complete rewrite of the UsdShade widgets due to the removal of the UsdMaterialWatcher from Kit.

[1.9.4] - 2024-05-29#

Changes#

  • OMPE-5051: Profile and Improve test times of omni.kit.property.material in Kit 107

[1.9.3] - 2021-05-17#

Fixed#

  • Fixed linting issues

[1.9.2] - 2024-04-16#

Changes#

  • OM-123596: Fix handling of empty shaders.

[1.9.1] - 2024-04-15#

Changes#

  • OM-123482: Fixed changing material binding on inherited material

[1.9.0] - 2024-03-01#

Changes#

  • OM-121330: Updated to use omni.kit.widget.context_menu

[1.8.39] - 2024-01-30#

Changes#

  • OM-119226: Add settings and disable fabric adapter

[1.8.38] - 2023-12-18#

Changes#

  • Update for fabric adapter

[1.9.0] - 2024-01-24#

Changes#

  • OM-118420: Fixed material connections so they show in property window correctly

[1.8.37] - 2023-12-04#

Changes#

  • OM-92919: Refactor code to enable derivation

[1.8.36] - 2023-10-20#

Changes#

  • OM-112502: Fix UsdShade.Nodegraph parameters not displaying.

[1.8.35] - 2023-10-12#

Changes#

  • OM-104254: Synchronize material loading and compilation in extension tests.

[1.8.34] - 2023-08-29#

Changes#

  • Material subid’s’ don’t show really long “::Z73file_*” paths

[1.8.32] - 2023-08-16#

Changes#

  • Material “X” hidden on None texture

  • Missing bound textures are shown in red

[1.8.31] - 2023-08-08#

Changes#

  • Fixed material group names

[1.8.30] - 2023-07-19#

Changes#

  • Changed inputs:excludeFromWhiteMode on shader prim into a PlaceholderAttribute.

[1.8.29] - 2023-07-19#

Changes#

  • Fix material properties without shader

[1.8.28] - 2023-07-04#

Changes#

  • Material properties can show values before groups

[1.8.27] - 2023-05-22#

Changes#

  • OM-95750: MaterailX shaders not displayed in info:id dropdown

[1.8.26] - 2023-04-04#

Changes#

  • Add paused property to material prims

[1.8.25] - 2023-04-02#

Changes#

  • Only use enumeration widget for integer parameters that have enumeration metadata.

[1.8.24] - 2023-03-27#

Changes#

  • Move enumeration code into separate file + cleanup

  • Cleanup build_property_item method

  • Remap int to bool if widgetType metadata is set.

[1.8.23] - 2023-03-15#

Changes#

  • Update UsdShade.Shader schema attributes

[1.8.22] - 2023-03-09#

Changes#

  • Fix sub-identifier drop down list population.

[1.8.21] - 2023-02-24#

Changes#

  • Hide/show info: properties based on value of info:id

  • Remove all hardcoded UsdPreviewSurface parameter hints

  • Remove adding of sourceColorSpace parameter for UsdUVTexture

  • General cleanup and commenting

[1.8.21] - 2023-02-26#

Changes#

  • Replaced asyncio.ensure_future calls in usd_binding_widget.py with omni.kit.async_engine.run_coroutine function.

[1.8.21] - 2023-02-16#

Changes#

  • Support material display_name enums

[1.8.20] - 2023-02-05#

Changes#

  • Support property filter

[1.8.18] - 2023-01-11#

Changes#

  • Material property widget parameters - don’t override displayName and/or displayGroup if already set.

[1.8.17] - 2023-01-10#

Changes#

  • Fix ui refresh issue when modifying material prim.

[1.8.17] - 2022-12-20#

Changes#

  • Add arrange_windows to fix some tests when run in random order.

[1.8.16] - 2022-11-25#

Changes#

  • Use notification instead of popup to avoid hang.

[1.8.15] - 2022-11-16#

Changes#

  • Fixed widget rebuilding w/ any property change.

[1.8.15] - 2022-11-09#

Changes#

  • added add_context_menu to UsdBindingAttributeWidget to prevent multiple menu additions

[1.8.14] - 2022-11-04#

Changes#

  • Clean up material property UI by removing info:, inputs: and outputs: prefixes from properties that don’t have explicit display name metadata

[1.8.13] - 2022-08-17#

Changes#

  • Updated “material:binding” widget refreshing

[1.8.12] - 2022-08-17#

Changes#

  • Fixed clicking on thumbnail to goto material. Now works with inherited materials & multiple selections

[1.8.11] - 2022-08-09#

Changes#

  • Updated golden images for TreeView.

[1.8.10] - 2022-07-25#

Changes#

  • Refactored unittests to make use of content_browser test helpers

[1.8.9] - 2022-05-30#

Changes#

  • Update material thumbnail image to prevent multiple images being overlayed

[1.8.8] - 2022-05-24#

Changes#

  • Material thumbnail context menu update

  • Copy and Paste material groups

[1.8.7] - 2022-05-23#

Changes#

  • Support legacy and new Viewport API

  • Add dependency on omni.kit.viewport.utility

[1.8.6] - 2022-05-11#

Changes#

  • Support material browser drag/drop

[1.8.5] - 2022-05-17#

Changes#

  • Support multi-file drag & drop

[1.8.4] - 2022-05-12#

Changes#

  • Show shader description on material

[1.8.3] - 2022-05-03#

Changes#

  • Fixed unittest stemming from content browser changes

[1.8.2] - 2022-01-11#

Changes#

  • Improved info:mdl:sourceAsset:subidentifier match with combobox list from material library

[1.8.1] - 2021-12-02#

Changes#

  • Exception fixes and shader preload stall fix

[1.8.0] - 2021-11-29#

Changes#

  • Added material annotations “description” property

[1.7.5] - 2021-11-12#

Changes#

  • Updated to new omni.kit.material.library with new neuraylib

[1.7.4] - 2021-11-02#

Changes#

  • Fixed refresh on binding

[1.7.3] - 2021-10-27#

Changes#

  • Prevent crash in event callback

[1.7.2] - 2021-09-10#

Changes#

  • Dragging a multi-material .mdl file onto preview icon shows material dialog

  • Added widget identifiers

[1.7.1] - 2021-08-11#

Changes#

  • Fixed Sdf.Path warning due to string <-> Sdf.Path compare

[1.7.0] - 2021-06-30#

Changes#

  • Updated material list handling to use async Treeview and prevent stalls on large scenes

  • Moved MaterialUtils, MaterialListBoxWidget, SearchWidget, ThumbnailLoader, MaterialListModel & MaterialListDelegate into omni.kit.material.library

[1.6.5] - 2021-05-31#

Changes#

  • Changed “Material & Shader” to “Material and Shader”

[1.6.4] - 2021-05-20#

Changes#

  • Material search resets scroll position when typing to prevent user not seeing results

[1.6.3] - 2021-05-11#

Changes#

  • Updated material info so Outputs, UI Properties and Material Flags are closed by default

[1.6.2] - 2021-04-15#

Changes#

  • Changed how material input is populated.

[1.6.1] - 2021-03-17#

Changes#

  • Add material thumnail context menu

[1.6.0] - 2021-03-16#

Changes#

  • Add support for UsdShade.NodeGraph prims

  • Add support for UsdUI.Backdrop prims

[1.5.0] - 2021-03-09#

Changes#

  • Updated material search dialog

  • Added current materials to quicksearch

[1.4.3] - 2021-02-25#

Changes#

  • Fixed issue with materials with Relationship

[1.4.2] - 2021-02-10#

Changes#

  • Updated StyleUI handling

[1.4.1] - 2021-02-03#

Changes#

  • Fixed text issue with long lists in material name search dialog

[1.4.0] - 2021-01-28#

Changes#

  • Added material name search dialog

[1.3.8] - 2020-12-16#

Changes#

  • Fixed material shader preloading

[1.3.7] - 2020-12-10#

Changes#

  • fixed button leak

[1.3.6] - 2020-12-09#

Changes#

  • Added extension icon

  • Added readme

  • Updated preview image

[1.3.5] - 2020-12-01#

Updated#

  • When property in both material and shader don’t show shader properties in material

[1.3.5] - 2020-11-20#

Updated#

  • Added Sub-Identifier support

[1.3.4] - 2020-11-19#

Updated#

  • Fixed issue with newly created materials not refreshing when loaded

[1.3.3] - 2020-11-18#

Added#

  • Updates thumbnail loading to use async and quiet error messages

[1.3.2] - 2020-11-13#

Added#

  • Improved material group/name & added PreviewSurface values

[1.3.1] - 2020-11-12#

Added#

  • Fixed issue where bound material didn’t show sometimes

  • Added refresh on bound material when material created/modified to update material list

[1.3.0] - 2020-11-06#

Added#

  • Materials now show Materials & Shader values

[1.2.1] - 2020-10-21#

Added#

  • Moved schema into bundle

[1.2.0] - 2020-10-16#

Added#

  • Added thumbnail preview

  • Added click to goto material on thumbnail

[1.1.0] - 2020-10-02#

Added#

  • Added material binding UI

[1.0.0] - 2020-09-17#

Added#

  • Created