Share

USD for Maya v0.22.0 Release Notes

USD version 0.22.0 is a feature release with your installation of Maya 2024. Visit the official Autodesk MayaUSD GitHub repository to obtain this version or any subsequent releases.

Note: For working with USD and other plug-ins in the Maya ecosystem, visit this support article for version-specific compatibilities.
Important:

We are actively working on integrating Pixar’s Hydra framework, and have now removed the experimental MtoH plug-in. Look to upcoming releases for more information on Hydra for Maya (Technology Preview). Hydra for Maya is a Technology Preview and has similar capabilities to MtoH but is not production ready or available with this release. Hydra for Maya is also not supported on MacOS.

Highlights

This build is compiled with USD 22.11 and MaterialX 1.38.5. This release installer includes the following improvements:

General Updates:

  • Implemented Relative file support for loading and saving USD root files relative to their scene file
  • UI updates to provide relative file paths during saving

Enhancements/ Support:

  • Improved NURBS export
  • Improved opacity computations for MaterialX and USD materials
  • Correctly exposed Material attributes in the Attribute Editor
  • Exporting Normals by default when subdivisions schema is set to True
  • Fixed material export when preserving UVset names
  • Remove frequent warning in Arnold/RenderMan shading workflows

What's Fixed

Fixed Issues from GitHub
[Github #2372] Import: "useAsAnimationCache" flag not working MAYA-124459
[Github #2518] Export of bezierCurve type Curves is Incorrect MAYA-124789
General Fixed Issues
mayaUsd.ufe.stagePath() returns incorrect value MAYA-126653
Changing the orientation of a pivot on a single prim changes it for all prims MAYA-123944
Variant switching must orphan pull information MAYA-125036
Undo of delete on ancestor of pulled node must not show incorrect variant MAYA-125101
Edit as Maya Data: merging pulled data while in a different variant arc breaks the variants connection MAYA-126179
Crash when Merging to USD in a file with prim that is saved in Edit As Maya state MAYA-126183
Maya Error message when switching a variant back to a pulled prim MAYA-126538
Variant switch does not orphan pulled Maya Reference MAYA-126891
Saving a root layer to a file name with the wrong extension crashes Maya MAYA-127327

Known Limitations

The following list of limitations remains in flux as development is ongoing.

USD stage creation workflow limitations

See Create a USD stage for more information

  • Switching selected object variant can cause sync issues.

USD import and export workflow limitations

See USD import options and USD export options for more information

  • The round-trip workflow is currently lossy (ie. contains a loss of information from compression).
  • Mesh component level control is currently unsupported.
  • Vertex/Edge Component tags are currently unsupported.

USD materials workflow limitations

See USD import options for more information

  • Duplicate Shader Nodes in the Materials dropdown of the USD File Type Specific Options Menu: Loading the latest MayaUSD plug-in will provide the UsdPreviewSurface shader node. Loading a previous version of the plug-in will provide a pxrUsdPreviewSurface shader node. While both materials can import and export intrinsically to USD, loading both plugins into the same file will provide both nodes and create backward compatibility issues. The two nodes will correctly export to UsdPreviewSurface, but importing the scene back into Maya will choose the first registered node (ie. selection is dependent on plug-in load order).
    • Workaround: Have only one of the two aforementioned plug-ins loaded in Maya or ensure the first loaded plug-in is the preferred selection.
  • USD core rendering backend HydraGL(Storm) is not fully supported in Maya (switching to Hydra render delegate from VP2 on a Maya scene can cause Maya to crash)
    • Workaround: To ensure Maya's native VP2 render delegate can support the materials of a file, verify that the file's meta data inputs are importing correctly in Maya by using USD View. Generally, to achieve similar material results to an original file, convert to the original materials used on import.

Push/Pull workflow limitations

See edit as Maya data for more information

  • USD data is unaware of Maya data inside in the mixed-data model:
    • When Maya data is inside a USD hierarchy, its visibility isn't inherited from its USD ancestors.
    • When Maya data is inside a USD hierarchy, reframing the Viewport on its USD ancestors will not include Maya data. Transforms can misconfigure when animating pulled USD data.
  • When pulled Maya data is orphaned, the orphaned objects can still appear/ be visible in the Viewport.
  • Edit as Maya is unavailable on material prims. A warning is provided.

Maya reference limitations

See add a Maya reference for more information

  • When a USD object is in a pulled state, a mixed-data model will be active, where the pulled object will be Maya data, yet still inside of the proxyShape node or prim. When in this state, current limitations bar selection, hierarchy and other general expected behavious. For example, if you select the USD parent node of a pulled object, the Maya data nested inside will not be a part of that selection, which will not allow operations such as hiding objects etc.
  • Editing a Maya reference as Maya data can cause targets to switch while caching to USD.

Display Layer limitations

See work with prims as display layers for more information

  • Display Layer visibility works with all instanced geometry except for point instancers. The visibility toggle is unsupported for point instancers.
  • Importing Maya files containing stages and display layers into Maya is not supported. Display Layer assignments will break during the import process.

Viewport display limitations

See the following Github discussion topic and USD data in the Viewport topic for more information

  • When USD lights are created, nodes are added to draw lights in the Viewport. By default these light nodes are not ignored on render time and cause lighting issues at render time. These nodes can be filtered out by the translator using the following code:
    // Skip UFE nodes coming from USD runtime
    // Those will be handled by USD Imaging delegate
    MStatus              status;
    static const MString ufeRuntimeStr = "ufeRuntime";
    MPlug                ufeRuntimePlug = dagNode.findPlug(ufeRuntimeStr, false, &status);
    if ((status == MS::kSuccess) && ufeRuntimePlug.asString() == "USD") {
          return;        } 

Was this information helpful?