diff --git a/client/ayon_core/plugins/publish/collect_anatomy_instance_data.py b/client/ayon_core/plugins/publish/collect_anatomy_instance_data.py index 2113ad1f4d..ce0fc1c16c 100644 --- a/client/ayon_core/plugins/publish/collect_anatomy_instance_data.py +++ b/client/ayon_core/plugins/publish/collect_anatomy_instance_data.py @@ -313,8 +313,14 @@ class CollectAnatomyInstanceData(pyblish.api.ContextPlugin): # Define version version_number = None - if self.follow_workfile_version or instance.data.get( - "follow_workfile_version", self.follow_workfile_version): + + # Allow an instance to force enable or disable the version + # following of the current context + use_context_version = self.follow_workfile_version + if "followWorkfileVersion" in instance.data: + use_context_version = instance.data["followWorkfileVersion"] + + if use_context_version: version_number = context.data("version") # Even if 'follow_workfile_version' is enabled, it may not be set diff --git a/server_addon/substancepainter/client/ayon_substancepainter/plugins/create/create_textures.py b/server_addon/substancepainter/client/ayon_substancepainter/plugins/create/create_textures.py index 59e8b64d30..8869cb5eb0 100644 --- a/server_addon/substancepainter/client/ayon_substancepainter/plugins/create/create_textures.py +++ b/server_addon/substancepainter/client/ayon_substancepainter/plugins/create/create_textures.py @@ -30,18 +30,12 @@ class CreateTextures(Creator): default_variant = "Main" settings_category = "substancepainter" channel_mapping = [] - follow_workfile_version = False def apply_settings(self, project_settings): settings = project_settings["substancepainter"].get("create", []) # noqa if settings: self.channel_mapping = settings["CreateTextures"].get( "channel_mapping", []) - core_setting = project_settings["core"]["publish"].get( - "CollectAnatomyInstanceData", []) - if core_setting: - self.follow_workfile_version = core_setting.get( - "follow_workfile_version", False) def create(self, product_name, instance_data, pre_create_data): @@ -58,15 +52,11 @@ class CreateTextures(Creator): "exportPadding", "exportDilationDistance", "useCustomExportPreset", - "exportChannel", + "exportChannel" ]: if key in pre_create_data: creator_attributes[key] = pre_create_data[key] - if pre_create_data.get("follow_workfile_version"): - instance_data["follow_workfile_version"] = pre_create_data.get( - "follow_workfile_version") - if pre_create_data.get("use_selection"): stack = substance_painter.textureset.get_active_stack() @@ -244,15 +234,9 @@ class CreateTextures(Creator): def get_pre_create_attr_defs(self): # Use same attributes as for instance attributes attr_defs = [] - if substance_painter.application.version_info()[0] >= 10: + if substance_painter.application.version_info()[0] >= 10: attr_defs.append( BoolDef("use_selection", label="Use selection", - tooltip="Select Layer Stack(s) for exporting"), - + tooltip="Select Layer Stack(s) for exporting") ) - - attr_defs.append(BoolDef("follow_workfile_version", - label="Follow Workfile Version", - default=self.follow_workfile_version)) - return attr_defs + self.get_instance_attr_defs()