Skip to content

MayaUSD: Fix the duplicate overrides in USD options - #464

Open
moonyuet wants to merge 29 commits into
developfrom
bugfix/461--Duplicate-Publisher-GUI-Elements-when-Exposed-Overrides
Open

moonyuet wants to merge 29 commits into
developfrom
bugfix/461--Duplicate-Publisher-GUI-Elements-when-Exposed-Overrides

Conversation

@moonyuet

Copy link
Copy Markdown
Member

Changelog Description

This PR is to remove the duplicate overrides in USD options in MayaUSD publish. This also avoids the two extractors exporting the assets twices which error out the integrator.
Resolve #461

Additional review information

Marked it as draft as it needs more clarification for the legacy creator.

Testing notes:

  1. Create Maya USD instance with your model hierarchies.
  2. Publish

…k if the model product to avoid model publish twice.
@moonyuet moonyuet self-assigned this Aug 21, 2026
@moonyuet moonyuet added the type: bug Something isn't working label Aug 21, 2026
@moonyuet
moonyuet requested a review from BigRoy August 21, 2026 09:06
Comment thread client/ayon_maya/plugins/publish/extract_maya_usd.py Outdated
Comment thread client/ayon_maya/plugins/publish/extract_maya_usd.py Outdated
@moonyuet
moonyuet requested a review from BigRoy August 21, 2026 09:46
Comment thread client/ayon_maya/plugins/create/create_maya_usd.py Outdated
Comment thread client/ayon_maya/plugins/publish/extract_maya_usd.py
Comment thread client/ayon_maya/plugins/create/create_maya_usd.py Outdated

@BigRoy BigRoy left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice - this could work.

I think we'll need to add a dedicated additional family to target this plug-in:

class CollectMayaUsdFilterProperties(plugin.MayaInstancePlugin,

So we can still have it apply for the mayaUsd ones but can also enable it for this one without it by default supporting model family, e.g. a mayaUsd.filterProperties family or alike?

@moonyuet
moonyuet requested a review from BigRoy August 21, 2026 13:44
@moonyuet
moonyuet marked this pull request as ready for review August 21, 2026 15:48
@moonyuet

Copy link
Copy Markdown
Member Author

@BigRoy can you review?

@BigRoy
BigRoy requested a balanced review from Copilot August 28, 2026 09:14
@BigRoy
BigRoy requested a review from LiborBatek August 28, 2026 09:15

@BigRoy BigRoy left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code LGTM - but didn't have time to test now. @LiborBatek any chance you can give it a go today?

  • Maya USD family should still work
  • Maya USD: Model product should work, display attributes correctly and integrate with USD file correctly.
    • I think we may have an issue here @moonyuet because I think this one will now also export the default model outputs which it previously didn't if I'm not mistaken. I believe previously it ONLY exported the USD. Can you confirm?
  • Regular model product also still works, without USD

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Routes Maya USD Model instances through a single USD extractor to prevent duplicate options and exports.

Changes:

  • Adds a dedicated filter-properties family.
  • Removes Maya USD Model instances from the general extractor family.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
collect_maya_usd_export_filter_properties.py Supports the dedicated filter-properties family.
create_maya_usd.py Updates Maya USD Model publish families.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

return attr_defs

def get_publish_families(self):
return ["model", "usd", "mayaUsd.filterProperties"]

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@moonyuet
moonyuet requested a review from BigRoy August 31, 2026 06:48
@BigRoy
BigRoy requested a review from iLLiCiTiT August 31, 2026 06:49
Comment thread client/ayon_maya/plugins/create/create_model.py Outdated
Co-authored-by: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com>

@LiborBatek LiborBatek left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have tested through publishing of the model mayaUSD:Model and MayaUSD:usdAsset as model and all been publishing successfully.

I havent experienced any duplication of the USD overrides while having those enabled (aka exposed)...all good on this front.

LGTM

P.S. one small thing Im curious about is if when using standard modelMain and having enabled ayon+settings://maya/publish/ExtractMayaUsd if the USD representation could be as optional as I couldnt achieve it and it was always produced too leading to e.g. .ma .abc and .usd allways... Im not saying its a flaw but been curious if it is correct or not. @BigRoy

@BigRoy

BigRoy commented Sep 1, 2026

Copy link
Copy Markdown
Member

P.S. one small thing Im curious about is if when using standard modelMain and having enabled ayon+settings://maya/publish/ExtractMayaUsd if the USD representation could be as optional as I couldnt achieve it and it was always produced too leading to e.g. .ma .abc and .usd allways... Im not saying its a flaw but been curious if it is correct or not. @BigRoy

Standard model product type should indeed allow this to be optional, if it isn't - it's a bug somewhere.

@moonyuet

moonyuet commented Sep 2, 2026

Copy link
Copy Markdown
Member Author

P.S. one small thing Im curious about is if when using standard modelMain and having enabled ayon+settings://maya/publish/ExtractMayaUsd if the USD representation could be as optional as I couldnt achieve it and it was always produced too leading to e.g. .ma .abc and .usd allways... Im not saying its a flaw but been curious if it is correct or not. @BigRoy

Standard model product type should indeed allow this to be optional, if it isn't - it's a bug somewhere.

It could have been because the last commit inheriting unnecessary class. It should be cleaned up and I have added the model.extract into families of ExtractUSD.
eafda4c

@BigRoy

BigRoy commented Sep 2, 2026

Copy link
Copy Markdown
Member

It could have been because the last commit inheriting unnecessary class. It should be cleaned up and I have added the model.extract into families of ExtractUSD.
eafda4c

However, with this change - then we don't get the enforced disabling of the exportAnimationData which I wonder if we should retain?

@moonyuet

moonyuet commented Sep 3, 2026

Copy link
Copy Markdown
Member Author

It could have been because the last commit inheriting unnecessary class. It should be cleaned up and I have added the model.extract into families of ExtractUSD.
eafda4c

However, with this change - then we don't get the enforced disabling of the exportAnimationData which I wonder if we should retain?

It is not retained anymore.
04348da

Comment thread client/ayon_maya/plugins/publish/extract_maya_usd.py
@moonyuet
moonyuet requested a review from BigRoy September 3, 2026 13:22
Comment thread client/ayon_maya/plugins/publish/extract_maya_usd.py Outdated
@moonyuet
moonyuet requested a review from BigRoy September 15, 2026 06:43

@BigRoy BigRoy left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@LiborBatek can you validate this works for you?

I'll want to think a bit more about the model.extract naming - but admittedly, it's not required for getting this merged. So, approving. If this works, I'm all good.

@BigRoy

BigRoy commented Sep 15, 2026

Copy link
Copy Markdown
Member

@moonyuet I've noticed that for io.ayon.creators.maya.mayausd.model creator the instance, also shows "Alembic options" near the bottom, but if I understand correctly - it shouldn't; right? 🤔

image

@moonyuet
moonyuet requested a review from BigRoy September 15, 2026 12:42
@moonyuet

Copy link
Copy Markdown
Member Author

@moonyuet I've noticed that for io.ayon.creators.maya.mayausd.model creator the instance, also shows "Alembic options" near the bottom, but if I understand correctly - it shouldn't; right? 🤔

8a6b5d2

@moonyuet

moonyuet commented Sep 16, 2026

Copy link
Copy Markdown
Member Author

@BigRoy @LiborBatek can you review again?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Duplicate Publisher GUI Elements when Exposed Overrides

6 participants