maya-usd: the MayaUSD plugin that opens a USD stage directly in the Maya viewport
A common USD (Universal Scene Description) plugin for Autodesk Maya
At a glance
- What is it?
- maya-usd is the MayaUSD plugin for Autodesk Maya, maintained by Autodesk as part of the AOUSD effort and grown from Pixar and Animal Logic contributions. Its headline capability is not import and export but opening a USD stage in the viewport for interactive editing, with integration into the Outliner, Attribute Editor and Layer Editor.
- Who is it for?
- maya-usd suits a studio running Maya that wants USD as the interchange format across DCC tools, particularly one already doing non-linear collaboration and ready to treat the Layer Editor and Edit Routing as the working surface rather than the import dialog. It does not suit a pipeline that only needs the occasional USD file in and out, since the plugin ships with a devkit and a large C++ and Python surface that carries real upgrade cost.
- Can I use it commercially?
- Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
- Is it still maintained?
- Yes. The repository last received commits 3 days ago.
- What is it written in?
- Mainly Wolfram Language, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 20, 2026, and from our analysis. They are not legal advice.
Editorial analysis
Loading a stage in the viewport, not importing a file into the scene
The plugin does provide traditional import and export, but the README is clear that the more important capability is loading USD stages directly in the viewport for interactive editing without an import and export step. That distinction is the whole point of the project. In a traditional MayaUSD workflow a USD file arrives, is converted into Maya nodes, and then the USD data and the Maya scene are two different things that you have to keep in sync by hand. With the stage open, the USD composition is what you are looking at, and editing in Maya is authoring into that composition rather than into a converted copy. The plugin reaches into Maya itself to make that work, with integration into the viewport, the Outliner and the Attribute Editor. The stated goal is to let you create, edit, work in, work with and collaborate on USD data while data moves between products such as Maya and 3ds Max, which the README frames as supporting DCC-agnostic pipelines and non-linear collaboration.
The feature set points at a working surface rather than a file format converter
Looking at what is on the list tells you what kind of tool this is. There is a Component Creator with Variant Manager, new in Maya 2027, and an Autodesk Asset Resolver. Import and export handle both text and binary USD formats. The editing side is where the weight sits: open a USD stage directly for editing, edit USD data as Maya, a Layer Editor, and Edit Routing, which the README describes as providing an authoring environment built for the job. There is a Maya Reference for animation and cache workflows, USD cameras and USD lights, and Custom Schemas for extending the data model. Rendering support comes from Arnold and Maya-Hydra, and shader authoring goes through BifrostUSD for a procedural environment and LookdevX for shader editing. Read as a whole, this is a pipeline tool aimed at a studio that authors in USD every day, not at someone who needs to read a USD file once.
Getting the plugin installed is a download, and building it is a different job
There are two distinct paths and the README separates them. To install, installers for MayaUSD can be found on the repository's releases page, and the plugin currently supports Maya 2023, 2024, 2025, 2026 and 2027. Getting started documentation exists for each of those Maya versions, with a separate guide per release. Building from source is a separate proposition, and the README is brief about it: everything needed to build maya-usd is provided in the form of source plus a devkit that needs to be installed, unit tests are provided for all projects and can be optionally built and executed using google tests, and the full details live in doc/build.md. The repository layout confirms the shape of that build. There is a CMakeLists.txt, a build.py entry point, cmake and modules directories for the dependency graph, lib for the implementation, include for headers, plugin for the plugin itself, test for the suites, and tutorials for worked examples.
The API surface is C++ and Python, and the docs are organised by task
The plugin ships with an API for extending the default import and export process and for manipulating USD data directly through C++ and Python. The developer documentation is arranged as a set of task documents rather than a single reference, which tells you how the codebase is meant to be used. There are documents on common plug-in base commands, on managing translation options for import and export, on adding a new import or export option, and on SchemaAPI translators for import and export in Python. There are worked tutorials with example import and export plugins in Python and in C++. On the editing side there are documents for UFE transform, undo and redo support, Layer Saving, Layer Locking, Edit Routing and the Maya Reference Edit Router, plus the Attribute Editor template documentation and the shader code generation notes. Two Hydra for Maya and MaterialX documents sit alongside. The learning curve is real, but the documentation is unusually granular for a plugin of this kind.
Layer Saving and Layer Locking decide who owns which part of the scene
Two of the documented features carry most of the collaborative weight, and they are the pair to read first if you are evaluating this for a team. Layer Saving and Layer Locking are both documented in their own files in the tree, which suggests they are handled as first-class concerns rather than incidental features of the importer. The motivation is the same one that drives the whole USD adoption story: with a stage open in the viewport and multiple artists editing at once, you need to know which layer each edit belongs to and you need to stop two people writing the same layer. The Layer Editor is listed among the features alongside Edit Routing, and the Attribute Editor template work exists so that USD attributes appear in the Maya UI you already use. If your studio's question is about who can write what, these are the documents that answer it, and they are the part of the plugin that would replace an existing referencing setup.
The licensing terms are in a file the repository field does not summarise
The licence field for this repository carries no identifier, so the terms are not visible from the repository metadata alone. The README points to a License document under doc, at doc/LICENSE.md, and that file is the place to look. This is worth resolving before a studio standardises on the plugin, because a USD plugin sits at the centre of a pipeline and its terms can travel with the work that flows through it. This is a note about where the information lives rather than legal advice, and it is not unusual for the identifier to be blank in the repository field while the actual terms sit in the documentation tree. The same pattern applies to security, where the README says guidelines are documented in SECURITY.md, and to contributions, where CONTRIBUTING.md and the code guidelines in doc/codingGuidelines.md are the referenced documents.
Active development, a version every few months, and an unusual language tag
The repository is not archived and the last push was on 2026-10-19, so work is landing continuously. The release history shows a steady minor version cadence, with v0.37.0 on 2026-07-23, v0.36.0 on 2026-05-21 and v0.35.0 on 2026-02-19, which is roughly every two to three months. A version number still below 1.0 with that cadence is a signal worth weighing, since the version number reflects the plugin's own API surface rather than the maturity of the pipeline it serves. One oddity in the metadata: the primary language for the repository is listed as Wolfram Language, which does not match what the tree contains. The repository is C++ with Python bindings, CMake scripts, and Markdown documentation, so treat the language tag as noise. The default branch is dev rather than main, which is worth knowing if you are pinning a commit or writing automation against the repository.
Editorial conclusion
maya-usd suits a studio running Maya that wants USD as the interchange format across DCC tools, particularly one already doing non-linear collaboration and ready to treat the Layer Editor and Edit Routing as the working surface rather than the import dialog. It does not suit a pipeline that only needs the occasional USD file in and out, since the plugin ships with a devkit and a large C++ and Python surface that carries real upgrade cost. Before you standardise on it, check that your Maya version is in the supported list of 2023 through 2027, read doc/LICENSE.md to settle the licensing terms the repository field leaves unstated, and plan for the build toolchain, since the source build path requires a devkit and CMake rather than a plugin install.
Frequently asked questions
Which Maya versions does maya-usd support?
The README lists Maya 2023, 2024, 2025, 2026 and 2027, with a separate getting started guide linked for each of those versions. Installers for MayaUSD are published on the repository's releases page.
What is the difference between opening a USD stage and importing it in Maya?
Opening a stage loads the USD composition into the viewport for interactive editing without an import and export step. The plugin integrates into the viewport, the Outliner and the Attribute Editor so you edit USD data as Maya rather than converting it into Maya nodes.
How do I build maya-usd from source?
The README says everything needed is provided as source plus a devkit that needs to be installed, with unit tests for all projects that can optionally be built and run using google tests. The repository holds a CMakeLists.txt and a build.py, and the full details are in doc/build.md.
Under what licence is maya-usd distributed?
The licence field for the repository carries no identifier, so the terms are given in a document rather than summarised in the metadata. The README points to the License file at doc/LICENSE.md, which is where you will find the actual terms.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/autodesk-maya-usd)Was this useful?