diff --git a/client/ayon_core/pipeline/create/structures.py b/client/ayon_core/pipeline/create/structures.py index 79a1e61a55..9a89cb2e4d 100644 --- a/client/ayon_core/pipeline/create/structures.py +++ b/client/ayon_core/pipeline/create/structures.py @@ -113,7 +113,10 @@ class AttributeValues: self._data = {} for attr_def in attr_defs: value = values.get(attr_def.key) - if value is not None: + if value is None: + continue + converted_value = attr_def.convert_value(value) + if converted_value == value: self._data[attr_def.key] = value def __setitem__(self, key, value): @@ -339,13 +342,6 @@ class PublishAttributes: if value is None: value = {} - for attr_def in attr_defs: - if isinstance(attr_def, (UIDef, UnknownDef)): - continue - key = attr_def.key - if key in value: - value[key] = attr_def.convert_value(value[key]) - self._data[plugin_name] = PublishAttributeValues( self, plugin_name, attr_defs, value, value )