Skip to content

OpenUSD usdMtlx implicitly upgrades MaterialX documents on read or reference #4137

Description

@rajansldx

When a MaterialX document authored in an older version is read through OpenUSD usdMtlx, the resulting USD reflects upgraded MaterialX version semantics even when no explicit conversion is requested.

Repro Steps:

  • Unzip openusd_mtlx_auto_upgrade_repro.zip.
  • Run: C:\usd-install\bin\usdcat.exe \atan2_sample.mtlx > \out.usda
  • Open out.usda and confirm:

string config:mtlx:version = "1.39"
float inputs:inx = ...
float inputs:iny = ...

  • Compare against input atan2_sample.mtlx:

Authored version is 1.38
Authored atan2 inputs are in1 / in2

Impact:

  • Look preservation risk for published assets.
  • Potential cross-site nondeterminism when different environments use different MaterialX versions.
  • Unexpected node interface/schema changes during ingestion.

Expected:

  • Default usdMtlx read behavior preserves authored MaterialX version semantics.
  • Upgrade occurs only via explicit user/pipeline opt-in conversion.

Actual:

  • Read/ingest path appears to apply upgrade behavior implicitly.

openusd_mtlx_auto_upgrade_repro.zip

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions