Autodesk Maya


The NVIDIA Omniverse™ Maya Connector Plug-In offers a robust toolkit for Maya Users to send and live sync their model data to an Omniverse Nucleus. This not only gives Maya users a first class renderer through Omniverse View or Omniverse Create but also the ability to open, edit and sync with any application supporting Omniverse Connect. Now, depending on the use case, Maya users can choose the workflows and pipelines that work best for their needs while maintaining up to date revisions for all downstream consumers of their work.

Package Files: Tutorial Package

Supported Versions

The Omniverse Maya connector supports the following versions of Maya.



Linux CentoOS

Linux Ubuntu

USD Python Bindings



Python 2.7


Python 2.7


Python 2.7 & 3.0


Python 3.0


Known Limitation - Other USD plugins must be uninstalled for Omniverse Maya Connector to function properly. For Maya 2023, Bifrost must also be disabled for compatibility.

Install Instructions

Please see Launcher Documentation for Installing Connectors.

User Interface


Once the plug-in is installed, users must sign into an Omniverse server. Users can do so from two places in the Maya plug-in:

Plugin Menu
  1. Connections are made to Omniverse via the connection dialog.

Connect with Menu

Users can take 2 routs to the connection window. 1. From the Omniverse Main Menu drop-down users can go directly to the connect menu. 2. From the Omniverse Shelf you can quickly get to the connect menu.

Menu Items



Your Omniverse Username

Server Information

The address to your Omniverse Nucleus


The server address field will store and auto-populate known recent servers.

After the NVIDIA Omniverse™ Maya Connector Plug-In has been loaded and signed in to, users can now Live Sync, Open Omniverse Nucleus / Local USD files, and Export USD files to your Omniverse Nucleus.

USD Menu

Omniverse USD Menu


Menu Items



Open Recent
Lists recently opened USD assets


Open USD
Launches a File dialog that allows the user to
navigate the contents of Omniverse and open USD
files. Opens a USD file, clears the current
Maya scene, loads the USD asset, and syncs.


Import USD
Imports USD Files from a Local/Network Drive Location. This collects materials to the location of the current USD file.


Connect USD
Connects an existing Native Maya file to an existing USD file on Omniverse.
This allows a user to initiate a live connection
without reexporting the USD.


Close USD
Closes the USD file and resets the Maya file to a new blank scene.

Help Menu

Omniverse Help Menu


Menu Items



Maya Plug-In Documentation

Opens the doc for the Maya Plug-In


Get Support

Link to user forums and Omniverse Support


Release Notes

Link to Release Notes



Informs user of the version specific information of
Maya Omniverse Plug-In

USD Export File Browser

Exporting files from Maya is done through the Export File Dialog.

USD Export File Browser


Menu Items




Breadcrumbs: Displays the path to the current directory or file the user
has selected. Users can select any part of the existing path
Add Folder: Adds a new folder in your current directory
Search Bar: Contextual search
Directory Browser: Directory list


Export Type Dropdown

Allows selection of Asset Type
Prop: Standard Static Asset
Prop Animation Clip: Simple translational Animations (.anim.usd)
Skeletal Mesh: A mesh containing skinning information and joints. (.skel.usd)
Skeletal Animation: A mesh containing joint animation and skin clusters. (.skelanim.usd)
Animated Point Cache: Animated “point clouds” (.cache.usd)


Export Options

Selects what to export
All: Exports everything in the scene
Select: Exports everything selected in the current scene
Sets: Select sets in Maya can be used as an export selection type
Default Prim: Sets the Default Prim of the exported USD, defaults to “World”
Export Visible Only: Exports only visible nodes in combination with the current export selection
Use Animation: Includes animation sequence in export
Enabled: Will Export Animation from timeline
Start Frame: First frame to be exported
from the animation sequence
End Frame: Last frame to include in the export
Step: Allows skipping of frames, use 1 for all frames
Normalize Skin Weights: Transforms the weights
Include Instances : Defines how to handle Maya asset instances on export
None: Do not export instances.
On: Export the Maya scene with instances and maintain the scene hierarchy as is in Maya
On with Hydra: Export the Maya scene with instance structure compatible with Hydra renderer. This may add extra xforms.
Include MDL: Will include all MDLs referenced in the file
Default : Uses global core material path and copies custom materials to user defined directory.
Include Dependencies : Copies all referenced materials to user defined directory.
USD Preview Surface: Will generate a USD Preview Surface and bake textures for export.
Include Cameras: Exports cameras in the scene.
Include Lights: Exports supported lights. see note below.
Up Axis: Allows control over facing direction.
File Operations: Batch Export: Will export each first level node as a unique USD file. Exported files will be re composed into a new by either a Payload or Reference.
Save Maya: Stores a copy of the Maya file on the Omniverse Nucleus



Pre Export Script MEL: Runs any scripted functions on scene prior to export.
Post Export Script MEL: Runs any scripted functions on scene after to export.


Additional Exported Files

Lists all associated files included in the export



Creates a checkpoint and optional description. ( for compatible servers only )


File information

File Name: The name you want the file to be.
File Type: Lists available export types. (See Note Below)
Export: Exports with chosen settings.
Cancel: Cancels the Export


You can export to USDA (Ascii) format by hard typing the extension .usda on export if exporting to a local drive (not an omniverse server).

Exporting With Maya

Open and Import USD Browsers

The open and import USD function allows users to open USD content directly into MAYA.

The import USD function allows users to import USD and merge it with the currently opened USD file.



Ref #




Open Materials

Check to import materials. If Unchecked Materials will be ignored.


Prefer Material Type

Choose the render context for loading and displaying Materials in Maya. MDL: Imported materials will display using MDL. Preview Surface: Imported materials will display using USD Preview Surfaces.


Import Lights As

Choose how lights should be imported. Maya: Imported Lights will be converted to Maya Standard Lights. Arnold: Imported Lights will be converted to Maya Arnold Lights.


Object Name Collision

Choose what to do if there are naming conflicts with Imported Objects. Overwrite: Replace the existing object if in conflict. Skip: Keep the original and discard imported objects if name conflict exists. Modify: Adjusts names of imported object to avoid name conflicts.


Material Name Collision

Choose what to do if there are naming conflicts with Imported Objects. Overwrite: Replace existing materials if in conflict. Skip: Keep the original and discard imported materials if in conflict. Modify: Adjusts names of imported materials to avoid name conflict.

Omniverse Shelf

Added in 100.1

The Omniverse Shelf allows connectivity and quick access to important Omniverse Functions.






Connect to Omniverse
- Add Connection
- Disconnect All
Connect to an Omniverse Nucleus
Allows Additional Omniverse Servers to be added to your server connection list.
Disconnects Maya from all connected Nucleus servers.


Open USD
Opens a USD file locally or on a Nucleus


Save USD
Save the current USD file.


Import USD
Imports a USD file into your current project.


Export USD
- Export All
- Export Selected
Exports current project file as a USD.
Exports current project file as a USD.
Exports the current selection of assets as a USD.


Share USD
Copies the location of the USD Files, if on nucleus, this link is shareable with other permitted nucleus users.


Live Sync
- Live Sync All
- Live Sync Excluding Materials
- Link Maya to USD file
Enables real-time “live” editing.
Enables real-time “live” editing.
Enables real-time “live” editing but DOES NOT update materials.
Links the currently opened scene with a USD file. See Using the Connect USD tool in Maya (Video) for more information.


Create Variants
Creates a USD Variant container. See USD Variants in Maya for details.


Plugin Settings
Opens the Omniverse Plugin Settings Panel. See USD Variants in Maya for details.


Links to this documentation.


Version and Technical Information about the Plugin.


Connect, Export and Live Sync have additional options are in the right click menu.

Omniverse Settings

The Omniverse Settings Panel allows access to some optional settings and features.

General Settings

Omniverse Settings Panel





Auto Sign In on Startup

Signs into previous omniverse connection automatically


Echo Feedback

Messages and alerts from a nucleus server will be reported in the script editor.


Object Export Path

Folder Name / Relative Path Option to allow customization of output organization.
Used when exporting assets with the option “split into multiple files”.


Native Light Conversion Scale

Allows Native Maya light power to be adjusted upon conversion.


Arnold Light Conversion Scale

Allows Arnold Light power to be adjusted upon conversion.


Destination MDL path

If un-altered (blank by default) the Destination path will always be the location of the exported
USD file. You can however “hard-code” a common directory where you want ALL exported USD’s to store their MDLs.


Material Template Search Paths:

If you or your organization have created specialized BASE MDLs, you can select their paths here. Templates and Collections


Material Collection Search Paths:

If you or your organization has created Variants based on BASE MDLs you can select their locations here. Templates and Collections

Live Settings

Omniverse Settings Panel



Selection Mode

Defines the set of objects that are Live-Update connected

Live Transform Edits

If enabled, transform changes are Live updated

Live Material Edits

If enabled, material edits/assignments are Live updated

Live Camera Edits

If enabled, Camera transforms and parameters are Live updated

Live Light Edits

If enabled, Light transforms and parameters are Live updated

Live Timeline Edits

If enabled, scrubbing the timeline in 3dsMax will send the current frame as the USD file during Live update

Live Modeling

If enabled, modeling changes will be sent during Live Update


Connect USD

If for any reason a Maya file becomes “detached” with its USD counterpart, it can be very convenient to simply reconnect your local Maya file to its Omniverse USD counterpart and begin live editing. This is where the Connect USD button comes in handy. Avoiding the need to re-Export, this can be very useful for large and imposing datasets however it requires BOTH the Local Maya file AND the Omniverse USD to be in parity.

Using the Connect USD tool in Maya (Video)

USD Variants in Maya

Maya variants allow for users to create and store variations for a given asset. This can be a very useful tool just in the context of Maya, but when brought to the omniverse can be leveraged in Apps such as View, Create and others.

Creating Variants in Maya

Open the Omniverse Panel or Omniverse Shelf to reveal Create Variants button.


Next, Select a name for the variant.



Variant names should not contain spaces or special characters.

Once accepted, the variant container is created and its properties can be found in the properties panel. Notice the variants list is empty.


Now use the + icon above the variants list and select any objects or object hierarchies you want to be included as variants. If you make a mistake or wish to remove an object, use the X button remove a selection from the list.


Once complete, simply select a variant on the list to auto-hide non-selected variants on your list.


Exporting Variants

Once created, USD variants are part of the USD schema and are automatically included when exported to the Omniverse. See instructions within the Omniverse App you are using for instructions on how to exploit variants within the Omniverse.


Understanding MDLs

When working with the Omniverse, MDL’s are our shader descriptions. Several come pre-installed with your server and will auto-populate upon connecting however there are some specific things to understand about how Maya and MDL interact.

  • The object format for Omniverse is Pixar’s USD format. For more information on USD, see documentation here: Introduction to USD

  • MDLs cannot be directly edited in Maya (but can be created, added to your server and made available in Maya)

  • MDL materials have basic distilling for rendering into the Maya viewport however for true material feedback and rendering, view the asset in Omniverse Create.

MDL Settings in Maya

Working with MDLs is an important part of working on the Omniverse as MDL is the language used to describe shaders to Nucleus, Create and all Omniverse Connect tools. Luckily many/most users will not need to adjust the settings as they will typically find the BASE MDLs that come pre-installed with Omniverse are robust enough to handle 95% of all materials in the real word. However if you have special workflows, are interested in creating specialized shaders or have pre-configured collections you wish to use, the settings panel allows you the ability to adjust some of the ways we can find, use and implement MDL technology.

For more information and access to these settings, please see USD Variants in Maya

Templates and Collections

The distinction between a template and a collection is purely semantic. There is no technical difference as they are both a location where MDLs are stored. The distinction is only meant for organization in the Hypershade panel. You should try to adhere to this distinction however because it does in fact offer a bit of convenience to users.

Templates: These are BASE MDLs (Omniverse Shaders) that are either custom or are pre-installed on your Omniverse server. For example, Omni-PBR is a BASE MDL or Template. This BASE MDL can then be used to create a variety of materials like Red Metal, Black Plastic, Copper, Steel, etc.

Collections: Collections are generally created from BASE MDLs and are explicit variants or a BASE MDL. For example a user may wish to have a collection of pre-configured MDLs based on Omni-PBR like Red Metal, Black Plastic, Copper or Steel. The explicit variants can then be stored in a directory and are then considered a “Collection”.

Connecting MDL Templates and MDL Collections

MDL templates and collection search paths are simply locations where MDLs are stored on your Omniverse server. If you have access to or have created MDL templates/collections you can specify their paths to grant access to them in the Maya Hypershade Panel. You can designate these paths in Maya under Omniverse > Settings. You can add the paths by selecting the + button next to their respective headings and locating the directories on your Omniverse Nucleus.

Loading External MDL Templates and Collections (Video)

MDLs and The Hypershade

The Maya Hypershade Panel will be updated with MDL Materials installed with the Connector. From here you can choose from a variety of MDL material types to assign to you objects.

Hypershade MDL
  1. MDL Material Tab

  2. MDL Material List

Hypershade Create New Material
  1. Select the MDL Tab to Reveal the MDL Material List.

  2. Select the MDL Material Template.

  3. Assign a Name for the Material

  4. Once Created, the material will be displayed in the Scene Material List.

  5. Graph will show the Material and properties can be edited as a normal material in Maya.

Selecting an MDL Material will allow you to edit the properties in the properties Panel like any other material in Maya.

Hypershade MDL Material


The structure of MDL materials can not be edited in Maya. They can however be created in Substance Designer or Hand Coded and added to your Omniverse Nucleus where they will populate your Maya Hypershade Panel.

Exporting MDLs to the Omniverse

There are 2 methods available to export your MDLs to the Omniverse.

Include MDL’s when Sending Model Data

The most common way to send MDLs is with your model data. Any MDL attached to a mesh can be automatically exported when you export, enable “Include MDL Files” in the export/sync dialogue. Materials are always included with Live workflow or Save USD.

Send MDLs Without Model Data

Users can send their MDLs directly to the Omniverse without sending model data if they choose.

  1. Open the Hypershade Panel and locate an Omniverse MDL material.

MDL Material in Hypershade
  1. Right Click on Any Omniverse MDL Material. Choose “Export MDL”

Export MDL
  1. In the resulting File Browser, choose where you would like your MDL to be stored.

Export MDL Window

Once stored, this MDL can be applied in Omniverse Create, Omniverse View and other Omniverse Applications.

UDIM Materials

Added 2020.1 UDIM materials are supported through the use of a <UDIM> token in a standard UDIM material sequence name (ie: my_mat_name.0001.jpg)

Using UDIMs

This sequence <UDIM> token can be put into any Omniverse Material Texture Input slot (ie: OmniPBR, OmniGlass etc.)

Using UDIMs 2

Simply replace the number with <UDIM>


If you want to expedite this process, the small button to the right of the file input can be used on any UDIM formatted material and it will auto insert the <UDIM> tag into your sequence.

Live Sync

Maya can live sync with Omniverse.

To live sync with Maya, turn on the Live toggle in on Omniverse shelf. When live sync session is enabled changed to the scene in Maya are sent to Omniverse as well as receives changes to the file from Omniverse.

When Live syncing a file, the most recent settings on the Export panel are honored. For example, if you had cameras and light toggled off and then then toggled on live sync with a USD file that has cameras and lights, then cameras and lights would not subscribe to live sync.


Live is disabled if the target USD has animation or a different up axis than the Maya file.

Maya Live Sync with Skeletal Mesh


Lights are exported and converted to compatible USD Lights. When a USD file is opened, USD Lights are converted to Native Maya OR Arnold Lights. This is an option on the USD Open/Import dialogs.


Not all parameters are mapped, only what is compatible with USDlux is converted.


Intensity does not always convert accurately between Maya and USD

Here is the current list of support lights.

Light Group

Light Type

USD Light Type

Standard Lights

Point Light
Spot Light
Ambient Light
Volume Light
- PxrDistantLight
- PxrRectLight
- PxrSphereLight
- PxrSphereLight
- PxrEnvDayLight
- PxrAovLight

Arnold Lights

Skydome Light
Area Light
- PxrDomeLight
- PxrRectLight


Arnold - Scenes from Omniverse can be rendered with the Arnold renderer in cpu mode.


Known Limitation - Arnold rendering is not supported with Arnold in gpu mode.

Point Cache

Prop + Vertex Cache

It is now possible to export a point cache that matches a static prop asset. This allows the actual point cache to be smaller in size.

To do this:

  1. Start with a Maya file that has animation on it.

  2. Export as a file type Prop

  3. Export again, but this time as type Point Cache. Set the option Vertex Only to On.

  4. In Create, add the prop as a layer, and then the vertex cache export as the next layer

Vertex Cache Export


USD Python Binding

USD Python Bindings are available with the installation of the Maya Omniverse Connector.


Known Limitation - Other USD plugins must be uninstalled for this to work.

Maya Plugin Script APIs

Loading the Plugin

Besides loading the Maya Omniverse plugin via the Plugin manager dialog, users can also load the plugin via this script.

loadPlugin "OmniverseMayaLoader.mll"

Connect to an Omniverse Server

Check Connection Status

int $nvConnect = `optionVar -q omniverse_connection_state`;

The omniverse_connection_state is a Maya option variable. You can remove it with the following command.

optionVar -remove omniverse_connection_state;

And you can modify it with this command

optionVar -iv omniverse_connection_state 1;


Generally speaking, Users should use string or integer types for option variables as Maya does not use boolean variables.

OmniExtraCmd - clientLogLevel 0;

0 - Debug
1 - Verbose
2 - Inform
3 - Warning
4 - Error

Set User Name and Log in

To make sure that you log in to right server you can call the following script command step by step.

Set up user name:

optionVar -sv "omniverse_user_name_var" dduka;

Set up available servers

Creates a list of servers to connect to.

optionVar -sv omniverse_server_urls "localhost:3009;my-server:1234;my-other-server:4321"

Set Up Current Server

Set’s up the server you wish to log-in to.

optionVar -sw omniverse_server_url "my-server:1234";

Inform C++ Plugin

Script command to make the C++ plugin get the above information.


Connect to Server

Makes the connection to an Omniverse Nucleus Server.

OmniConnectionCmd true;

Update Status

Make the relative UI showing correct status after log-in.


Export USD

Export a USD to Omniverse

OmniExportCmd -file "/Example/Users/aatest/tt.usd";


there is a prefix “/Omniverse” with the URL.

Setting up Export Mode types

Optional variables control how you export a scene. As an export can take form in various ways, you need turn on/off some variables before calling the export command.


optionVar -iv omniverse_export_objecttype 1;

Skeletal Mesh

optionVar -iv omniverse_export_objecttype 2;

Point Cache

optionVar -iv omniverse_export_objecttype 3;

Set Export Collection Types

Export/Live-Sync All

optionVar -iv omniverse_export_collectiontype 1;

Export/Live-Sync Selected

optionVar -iv omniverse_export_collectiontype 2;

Export/Live-Sync Visible

optionVar -iv omniverse_export_collectiontype 3;

Always Export GeomSubsets

optionVar -iv omni_always_export_geosubset 0;
optionVar -iv omni_always_export_geosubset 1;

Other exporting options:

Turn on “Use Animation”

optionVar -iv omniverse_export_useanimation 1;

Set Animation Start-Frame

optionVar -iv omniverse_export_ani_start 1;

Set Animation End-Frame

optionVar -iv omniverse_export_ani_end 200;

Set Animation step

optionVar -iv omniverse_export_ani_stride 1;

Normalize Animation range

This option renumbers the exported frame range starting from a given base number. It will also adjust the timecode of the usd file to reflect the range.

NormalizeFrameRangeOnExport -onflag true -basenumber 0;

Normalize Skin Weights

optionVar -iv omniverse_export_normalizeskinweights 1;

Bake Skin Bind position

optionVar -iv omniverse_skin_use_finalmesh  0;

Include MDL

optionVar -iv omniverse_export_includemdl 1;

Embedded MDL option

optionVar -iv omniverse_embed_materials 1;

Include Cameras

optionVar -iv omniverse_export_includecamera 1;

Include Lights

optionVar -iv omniverse_export_includelight 1;

Live Sync

For Live Sync, it cannot work with USD Animation on. So, you need run two script commands to turn it on.

optionVar -iv omniverse_export_useanimation 0; // turn off Use Animation
optionVar -iv omniverse_export_livesync 1; // turn on Live Sync
nvOmniUpdateConnectionUI(); // this is optional. But if you want to see right Live Sync checkbox status, you need call it.

Import USD

Imports a USD file on Omniverse

OmniImportCmd -file "/Omniverse/Users/aatest/tt.usd";


there is a prefix “/Omniverse” to the URL.

List Command

List Command can be used to list the files and sub-folders in an Omniverse folder. The return value of this command is a string array which has data grouped by 3.

string $ffs[] = `OmniListCmd -la "/Omniverse/Users/aatest/"`;


the string should end with ‘/’ as well as starts with the prefix ‘/Omniverse

Show File/Folder Name

Shows each folder/file full name

int $m = 0; for($m = 0; $m < 3; $m++) { int $idx = $m * 3; print ($ffs[$idx] + "\n");}

Show Folder/File Modify Date

int $m = 0; for($m = 0; $m < 3; $m++) { int $idx = $m * 3 + 1; print ($ffs[$idx] + "\n");}

Show Each Folder/File Author

int $m = 0; for($m = 0; $m < 3; $m++) { int $idx = $m * 3 + 2; print ($ffs[$idx] + "\n");}


Check Cache Status


Enable Caching

maya.mel.eval('OmniEnableCachingCmd -enable 1')

Plug-in Load Time

maya.mel.eval('OmniExtaCmd -tl')
t = maya.cmds.OmniExtaCmd(tl=True)
print t

MDL Materials

Python Scripts relating to MDLs

List MDL Materials

Python Script to show all of MDL materials

import maya.cmds as cmds
mdls = cmds.mdlShaderCmd(q=True,listHyperShadeItems=True)
for module in mdls:
    print module



Alternative List MDL

mdls = cmds.mdlShaderCmd(q=True,listHyperShadeItems=True)

Result .. code-block:: python

[u’L/Library/MDL/Base/OmniGlass/OmniGlass’, u’L/Library/MDL/Base/OmniPBR/OmniPBR’, u’L/Library/MDL/Base/OmniPBR_Opacity/OmniPBR_Opacity’]

Upgrade MDL Materials


This feature will be deprecated in upcoming releases as it is not needed any longer. This tool specifically addresses a material change that was done from 2019.2 to 2019.3. The menu entry has been removed, however is still available as a MEL script command if needed.


Record Time

Record Time of Server Connect and Load

maya.mel.eval('optionVar -sv "omniverse_user_name_var" "my-user-name"')
maya.mel.eval('optionVar -sv "omniverse_server_url" "my-server:1234"')
t = maya.cmds.timer(e=True);
print t

Record time to load templates

maya.mel.eval('optionVar -sv "Omniverse_Library_Materials_Templates_SearchPaths" "/Omniverse/Library/Materials/Templates;"')
t = maya.cmds.timer(e=True);
print t

Record time to load Collection

Collection Path is supported the same way as template path in plugin. So, there is should be no difference. But adding more path should cost more time.

maya.mel.eval('optionVar -sv "Omniverse_Library_Materials_Collections_SearchPaths" "/Omniverse/Users/aatest/ani;"')
t = maya.cmds.timer(e=True);
print t

Pick one file name

User may want to pick and get a file name without exporting or importing a USD. Here the things to do. You need define a mel function nvOmniPickCallback in which you define what you do with the file name. Now you can call mel function nvOmniPickAFile() to start the file pick dialog. Once you pick a file and close the dialog, nvOmniPickCallback is called.

global proc nvOmniPickCallback(string $filename)
   print("nvOmniPickCallback " + $filename + "\n");

nvOmniPickCallback is read only. You may want to export a new USD. Then you can call nvOmniAddAFile(). And you also need define a call back function, nvOmniAddAFileCallback, to handle the file name.

global proc nvOmniAddAFileCallback(string $filename)
   print("nvOmniAddAFileCallback " + $filename + "\n");
   OmniExportCmd -file $filename;

Loading the Plug-In

Load Plug In

Once the Maya Omniverse Plug-In is installed, navigate to the Plug-in Manager.

(Windows > Settings/Preferences > Plug-in Manager)

Look for OmniverseMayaLoader.mll and load/verify the plug-in is loaded/working. Select auto load if Maya should load this plug-in automatically.

Supported & Unsupported Features

Supported Features


  • Geometry
    • Static Meshes

    • Skeletal Meshes (usdSkel)

    • Animation

    • Point Cache

  • Lights
    • Maya Native Lights

    • Arnold Lights

  • Cameras
    • Maya Native Cameras

  • Materials
    • MDL render context

    • USD Preview Surface render context

  • Instances

  • Model Variants


  • Open, Import, and Export USD files

  • Save USD only saves the delta from the last state of the USD file, preserving the unchanged parts of the USD.

  • Live Mode
    • Live Transforms

    • Live Edit Mesh

    • Cameras edits

    • Lights edits for supported types

    • Materials

  • Animation
    • Pose Live: Pose a usdSkel while working in live mode.

Unsupported Features


  1. Load an animation clip only onto an existing open usd file

  2. USD Layer control

  3. USD Blend-Shape is limited support

  4. Scope Nodes

  5. Opening USD Point instance is not supported yet


  1. Most common native materials are supported on export via Universal Material Map, however, not all material have targets.

  2. MDL node editing is not supported


  1. Configurable Export paths

Release Notes


  • Added Support for Maya 2023

  • Client Library 1.17.5

  • Known Limitation - In Maya 2023, Bifrost now references USD, for 2023 only, Bifrost must be turned off to run the Maya Omniverse Connector. A future release of the Maya Omniverse Connector will have better compatibility.

  • NOTE - Maya 2019 support will be removed in Maya Omniverse Connector 104 and above.


  • Updated Client Library to 1.17.3


  • Updated Client Library to 1.17.2

  • Renamed export option “Split USD to Multiple Files” to “Batch Export”

  • Added Payloads as an option to Batch Export

  • Added Prevent Maya connector from installing if Maya is not detected.

  • Added Add post fix names to export.

  • Added tooltips to Omniverse dialogs through out.

  • Added command to normalize frames on export, example NormalizeFrameRangeOnExport -onflag true -basenumber 0; see :ref: maya_normalize_anim_range script reference.

  • Added Arnold 7 support

  • Fixed OM-43113 pivot issue when object had frozen transforms not at origin.

  • Fixed OM-30884 Crash with specific Skel Mesh asset

  • Fixed OM-42510 MDLs not honoring viewport texture control.

  • Fixed OM-42214 Camera filmback not exporting correctly

  • Fixed OM-41829 USD imported and Save USD command have unexpected result

  • Fixed OM-42323 Transforms are not saved on a group if group is not saved first.


  • Updated Client Library to 1.16

  • Fixed OM-41919 Parameters not showing up for MDL

  • Fixed OM-41973 Material Parameters do not export from referenced Maya

  • Fixed OM-42012 Textures not exported from FBX Material

  • Fixed OM-37426 Renaming Material Live doesn’t replicate

  • Fixed OM-41791 Adding Material to scene in Create causes mesh to disappear (related to instances)

  • Fixed OM-38538 After losing connection fo server during Live, Maya doesn’t reconnect.

  • Fixed OM-41697 Resetting Light value to default from Create Duplicates in Maya


  • No longer support Maya 2018

  • Added Animated Point Cache export option, Vertex Only. See documentation here.

  • Added Live Update options on Setting panel

  • Added Blendshape support for export type Skelmesh Animation Clip

  • Added checkpoint of auxiliary files

  • Improved Live Update performance with timeline scrub, and transforming objects

    • Updates are now on Mouse Release

  • Improved material conversion feedback

  • Improved usdSkel processing

  • Improved material handling for dds textures

  • Updated Prop vs Skelmesh export. Skinned meshes should be exported as type SkelMesh now.

  • Updated Core Materials

  • Fixed OM-37227 MDL Links broken

  • Fixed OM-39093 Render results do not match Arnold

  • Fixed OM-34496 Crash if export with name “light shape” or “camera shape”

  • Fixed OM-34609 Checkpoint Texture not usable in Maya

  • Fixed OM-37142 Omnisurface materials do not render in Arnold

  • Fixed OM-38668 Materials do not replicate until reapplied

  • Fixed OM-37267 Progress bar goes away while files are still being uploaded

  • Fixed OM-37383 Export core materials map fail with include dependencies

  • Fixed OM-38534 During Live update, assigning existing materials do not replicate

  • Fixed OM-38708 Light not creating in Live

  • Fixed OM-38727 Maya did not receive delete events from Create

  • Fixed OM-39089 text color not being applied

  • Fixed OM-39091 Assigning gold preset gets stuck

  • Fixed OM-39319 Pathing textures to non existent folder

  • Fixed OM-39320 Grouping instances creates erratic behavior

  • Fixed OM-39440 Doesn’t export texture files when re-exporting usda

  • Fixed OM-40378 Timeline Scrub with skelmesh causes prim type to be lost and geo to disappear

  • Fixed OM-30555 Live move of variant causes undesired duplicate

  • Fixed OM-26734 Exporting large scene and then re-opening causes crash

  • Fixed OM-35479 Making hierarchy changes by grouping and parenting have unexpected results

  • Fixed OM-33529 UDIM maps are visible in the viewport based on sequence

  • Fixed OM-34305 On file i/o operations, Maya should respect visibility flag

  • Fixed OM-34329 Deleting objects causes live sync to stop in second applied

  • Fixed OM-35456 Viewport freezes during live sync to Create

  • Fixed OM-36715 Fail to load UV sets on assets containing more that one

  • Fixed OM-37219 Skel Anim Clip export does not work with out Default Prim specified

  • Fixed OM-37382 Live edit with Create, changing texture from TIF to PNG doesn’t update in Create

  • Fixed OM-37420 Saving to read only location, user is not alerted

  • Fixed OM-37562 Selecting MDL shader removes previously made material

  • Fixed OM-14929 texture files attributes not registered in file path editor

  • Fixed OM-38434 Instancing Object while live in Maya doesn’t replicate to Create

  • Fixed OM-39328 Import file with MDL loses MDL Connections

  • Fixed OM-40619 In Live Edit, RGB values don’t always replicate 1:1

  • Fixed OM-41016 Point Cache doesn’t export for file with blend shapes

  • Fixed OM-36017 Open Point cache has wrong framerate

  • Fixed OM-41479 during Live Sync making an instance of an xform with a mesh child causes Maya to crash


  • Add Client Log Level script command OmniExtraCmd - clientLogLevel

  • Add Upload & download status to log file

  • Fixed bug exporting OmniSurface Preset materials

  • Fixed Crash on Marbles scene

  • Fixed OM-29272 Reexport of an existing USD broke some materials

  • Fixed OM-30555 Live object move with Variant caused duplicate

  • Fixed OM-34879 fix and set plug registration for Linux

  • Fixed OM-35172 UDIMs do not export for specific file

  • Fixed OM-35381 Variants has unexpected behavior on Export and Live

  • Fixed OM-35396 Export selected have wrong skeletal errors

  • Fixed OM-35428 Linux Connector won’t load USD Preview Surface

  • Fixed OM-30555 Live object moved caused undesired duplicate

  • Fixed OM-34558 Variant Crashed on Export

  • Fixed OM-34934 Exported incorrect inbetween blendshapes

  • Fixed OM-35381 Variant had incorrect visibility

  • Fixed OM-35462 Linux MDL templates and collections fail to load

  • Fixed OM-35546 CentOS MDLs fail to export to disc

  • Fixed OM-35548 CentOS MDLs are not immediately visible in Hypershade

  • Fixed OM-35956 Materials don’t load from Blender export

  • Fixed OM-36009 stage hierarchy wrong on load

  • Fixed OM-36520 Save USD didn’t save upaxis change

  • Fixed OM-36559 UV’s are broken for some assets

  • Fixed OM-36066 Export Selected Exported ALL material

  • Fixed OM-36070 Live object move doesn’t submit to server

  • Improved Export Selected with type Skel Mesh - Now selecting a bound mesh will automatically pick up the joints, eliminating the need to select the joints manually

  • Improved Animation Clip export by removing unused options

  • Improved support for the Create MDL Graph

  • Updated UMM and license

  • Updated test cases

  • Updated Client Library and Client Wait call

  • Updated Core material Library


  • Added Maya 2022 support. Must unload other USD plugs first.

  • Added Arnold 6.2 support for Maya 2020 / 2022

  • Added auto skel root generation for files that don’t meet usdSkel requirements

  • Added scripted export options for Skin bind position.

  • Added USD Python Bindings, using Python 2.7, + USD 3 for Maya 2022. ( Other usd plug ins must be completely uninstalled to not have a conflict)

  • Added initial support for materials created by Create Material Editor / USD Shade

  • Added Checkpoint support ( replaced Snapshots), for supported servers

  • Added OmniSurface materials to Core MDL materials

  • Improved Material Export support

  • Improved instance Export

  • Improved Live Sync

  • Improved resolving default prims on import USD

  • Improved icons on the Omniverse Shelf

  • Fixed animation transforms if animation is exported at a different up axis than the source.

  • Fixed an Omniverse Connection issue

  • Fixed Default Prim when export a Prop Animation Clip

  • Fixed a variety of Windows and Linux specific Bugs

  • Changed Export Option - Normalize Skin removed from UI and default to on. Script command available to control it.

  • Changed Export Option - Embedded MDL removed from UI and default to on. Script command available to control it.


  • Added - Universal Material Map framework for exporting native Maya material to MDL

  • Various bug fixes

  • Updated client library and core material library


  • Added - When Glass material is applied to objects, USD is written with a flag for it to not cast shadows when loaded in Create/View

  • Fixed - Bug where Live sync could cause incorrect light properties or double lights in some case

  • Fixed - Bug where not all Live material changes were received in Maya

  • Fixed - Bug where viewport would not update in some cases until MDL attributes were touched

  • Improved Plug in Installation

  • Improved loading of samples


  • Save USD - Save the delta of the open USD file

  • Import USD - Merges usd files together

  • USD Preview Surface - Improved by opening USD preview Surface via render context on Open USD

  • Model Variants Added

  • Replaced Omniverse Panel with Omniverse Shelf

  • Moved documents storage to Users/Omniverse/Maya. previously was Users/.omniverse/Maya

  • Improved Instance handling - Can now write out instances based on Hydra compatibility or not

  • Optimize texture uploading

  • Support USD files with indexed normals

  • Upgrade Client Library

  • Upgrade Core materials

2020.2.2 Hotfix

  • Client Library Updated
    • Fixed a bug that would sometimes (very rarely) cause data loss.

2020.2 Hotfix

  • Client Library Updated
    • Fixed a bug that would sometimes (very rarely) cause data loss if you got a disconnect while uploading a file.

    • Fixed a bug that would fail to download a file if it was an exact multiple of 1MB

  • Fix to some live mode bugs caused by generating dif on usd open

  • New sign in dialog removes username field

2020.2 Point Release

File Support

  • Export local files with native Maya file browser


  • Skin Bind improvements

  • Animation curve filtering improvements on USD Open


  • Material stability improvements

  • Render MDL with UDIM in Maya viewport

  • Updated Omniverse Core Materials

  • Export MDL Materials from hypershade as .mdl


  • Exposed Light conversion algorithm


  • Set mel script functions on Pre and Post export

  • Customize Default Prim on Export

  • Export Visible option improved

2020.1 Point Release


  • Performance improvements

  • General UX improvements

  • Support for Omniverse read only Mounts


  • Upgraded MDL handling. This is a breaking change for files authored in older versions of the plug in. This change allows materials to be saved into the Maya file offline and allows for cleaner forward looking upgrades. uisers of old file can upgrade their materials from the main menu/Omniverse/Upgrade Materials

  • MDL materials can be embedded inside USD files eliminating floating mdl files as an option.

Bug fixes

  • A variety of bug fixes with materials to enable a more robust experience

  • UDIM export/import for Omniverse materials. Known limitation these will not render in Maya viewport.

  • Improved USD Preview Surface handling

  • Sub Divided Surface support with creasing

  • Arnold CPU support for Maya 2020


  • Animations clips exported as overs

  • Soup morph target support, if Soup is also installed


  • Arnold Sky Light support

  • Exposed Light conversion scale in settings

  • New namespace handling options



  • Supported versions of Maya

    • Windows

      • Maya 2018.0, 2018.3, 2018.4, 2018.5

      • Maya 2019.0

    • Linux CentOS 7

      • Maya 2018.3

      • Maya 2019.0

  • Polished up UX with more meaningful naming for export types and options

  • Export options moved to Export browser, this are initiated by export from menu and Omniverse Panel

    • Omniverse snapshot on Export.

      • Snapshots can be filled in on export from Maya through the export panel.

      • Supports exporting to Y and Z up axis.

    • Namespaces are stripped on USD export,

      • �:� are replaced by _�

  • Maya Cache is moved to users…/.omniverse/Maya

  • Display folders in Omniverse file browsers

  • Added USD file options to Omniverse Panel

  • Added Settings Panel

    • Enable cache moved here.

    • Informs users of mdl search paths

Materials and MDL

  • Material Type change menu added

  • Maya native materials are mapped to OmniBasic.mdl on export

  • Load USD files with material assignments from Ov servers

  • Textures are not downloaded from Omniverse on demand, previously they were all downloaded upfront

  • MDL warning moved to script editor instead of pop up window

  • Material attribute changes, Live out is supported

  • Export option for MDL absolute/relative

  • Copy MDL template to location


  • Support scrubbing the timeline for live update

  • Material assignment changes

  • Material value changes

  • Camera(See below)

  • Lights (See below)

  • USD Skel joint poses (See below)

Light Support

  • Lights are mapped to USD Lux lights.

    • Native Area, Spot, Point, and Directional lights are supported.

    • Arnold Area Light is supported.

  • Exported Lights map to USD Lux light and can be opened in Create.

  • Imported Lights - when opening a USD Stage, supported lights are mapped to Maya /Arnold Lights

    • Area Light is determined by preference on settings panel.

    • Live Sync is bi-directional for transform and supported attributes. In Maya male sure Live and include Lights is enabled.

Camera Support

  • Cameras are mapped to USD cameras

  • With the exception of Perspective, and Orthographic cameras, these are not synced

  • Import and Export of camera attributes that are supported

    • Live Sync is bi-directional for transform and supported attributes. In Maya male sure Live and include cameras is enabled.

USD Skel Export Support

  • Skeletal Mesh export type option is of USDskel.

  • Checks if scene is set up and compatible with USD Skel

  • Normalize Skin Weights for USDSkel added

  • Animation export

  • Live Skel pose update

Local Workflow

  • Local USD

  • Open Local USD

  • Save to Local Drive

    • Limitation - Materials still require being connected to server.

  • Local MDL

  • Hypershade import an mdl from you local disk to Hypershade

  • Limitation - Exported materials based off this will not work on server because template is being copied to server. Therefore feature might be pulled from release if the follow up stories don’t pan out.


Future features we are currently thinking about are as follows and in no particular order.

  • Payloads

  • Improved Light support

  • Refined collaboration with other Omniverse Tools

  • Python pre and post script support

  • File meta data

  • Refine Animation toolset and support