diff --git a/client/ayon_maya/plugins/publish/collect_user_defined_attributes.py b/client/ayon_maya/plugins/publish/collect_user_defined_attributes.py index e468636d..b8ed79e7 100644 --- a/client/ayon_maya/plugins/publish/collect_user_defined_attributes.py +++ b/client/ayon_maya/plugins/publish/collect_user_defined_attributes.py @@ -13,7 +13,7 @@ class CollectUserDefinedAttributes(plugin.MayaInstancePlugin): def process(self, instance): # Collect user defined attributes. - if not instance.data["creator_attributes"].get( + if not instance.data.get("creator_attributes", {}).get( "includeUserDefinedAttributes" ): return diff --git a/client/ayon_maya/plugins/publish/validate_instance_has_members.py b/client/ayon_maya/plugins/publish/validate_instance_has_members.py index baca2a90..d061c882 100644 --- a/client/ayon_maya/plugins/publish/validate_instance_has_members.py +++ b/client/ayon_maya/plugins/publish/validate_instance_has_members.py @@ -24,8 +24,15 @@ def get_invalid(cls, instance): def process(self, instance): # Allow renderlayer, rendersetup and workfile to be empty - skip_families = {"workfile", "renderlayer", "rendersetup"} - if instance.data.get("productType") in skip_families: + skip_families = {"workfile", + "renderlayer", + "rendersetup", + "mayaUsdLayer", + "usdLayer", + "usdAsset"} + families = {instance.data.get("family")} + families.update(instance.data.get("families", [])) + if families.intersection(skip_families): return invalid = self.get_invalid(instance)