Autodesk / Autodesk/maya-usd

Allow showing sublayers in payloads/references to also be able to mute those layers in Layer Editor

Open
#3,467 1 comment 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Wolfram Language
Stars
905
Forks
223
Avg merge
2d 9h
Merged PRs (30d)
17

Description

**Is your feature request related to a problem? Please describe.**

Working on asset look development I want to load an `asset.usd` which would contain the latest department layers for modeling, look, etc. but mute the look layer so what I'm seeing in my look development scene shows _my current_ contributions and ignores the look contributions from previous iterations that are in the USD asset.

Unfortunately this doesn't work for me because our `asset.usd` offloads its layers into a `./payload.usd` file which gets payloaded into the asset.

**Describe the solution you'd like**

Expose the layers in the USD Layer Editor to allow muting the sublayers in references and payloads in the USD stage.

This could be a toggle in the Layer Editor menu like "Auto-Hide Session Layer", etc.

**Describe alternatives you've considered**

Going through the Python API and rolling custom UIs - but I'd rather not.

However, it seems totally possible to mute them via the API currently:
```python
from maya import cmds
import mayaUsd
from pxr import Sdf, Usd

def is_look_layer(layer):
# simplified detection whether it is a look layer
return "layer_id=look" in layer.identifier

proxies = cmds.ls(type="mayaUsdProxyShape", long=True)
for proxy in proxies:
stage = mayaUsd.ufe.getStage("|world" + proxy)
for layer in stage.GetUsedLayers():
if is_look_layer(layer):
print(f"Muting {layer.identifier}")
stage.MuteLayer(layer.identifier)
```

**Additional context**
n/a

Contributor guide

No contributing guide indexed for this repository

Research direction

Start in the USD Layer Editor, alongside the existing “Auto-Hide Session Layer” menu behavior, and trace how the stage exposes layers from references and payloads. Compare this with the shown Python API using stage.GetUsedLayers() and stage.MuteLayer(). Done means those sublayers are visible in the editor and can be muted there.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
desktop-dev
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.