Autodesk / Autodesk/maya-usd

Import userProperties with MayaUSDImport

Open
#3,395 2 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Wolfram Language
Stars
905
Forks
223
Avg merge
2d 5h
Merged PRs (30d)
16

Description

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

I have a Cube prim with a user property string attribute, for example:

```
custom string userProperties:customId = "hello:world"
```

When importing this with `mayaUSDImport` the attribute does not appear on the mesh or transform.

It's unclear to me what flag I should be passing to import the user properties as custom attributes on the import.

**Describe the solution you'd like**

Either default behavior should import the user properties or a flag `importUserProperties` would be added to enable it.

**Describe alternatives you've considered**

A python chaser could be implemented - however as far as I know it'd be non-trivial to generate the correct attribute type with the valid time-samples, etc. - which could be trivialized with [UsdMayaReadUtil::ReadUsdAttribute()](https://github.com/Autodesk/maya-usd/blob/3f5039ceba21ad63c5447f2245c222c87959459c/lib/mayaUsd/fileio/utils/readUtil.h#L203) exposed to Python API as came up as a request [here](https://github.com/Autodesk/maya-usd/issues/3313#issuecomment-1716966019).

**Additional context**

The same 'issue' is also present in "Edit as Maya data" where it does not expose the user properties to the user for altering values.

Interestingly enough user properties are exposed however in a Maya USD Proxy with the UFE selection, e.g.:

![image](https://github.com/Autodesk/maya-usd/assets/2439881/4a038825-2b9e-475d-a9aa-6ab51943c38e)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at the mayaUSDImport user-property handling and inspect lib/mayaUsd/fileio/utils/readUtil.h, especially UsdMayaReadUtil::ReadUsdAttribute(). Compare this with the Python chaser alternative described in the issue. Done means userProperties are available on the imported mesh or transform, either by default or through an importUserProperties flag, with attribute types and time samples preserved.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.