diff --git a/openpype/settings/entities/base_entity.py b/openpype/settings/entities/base_entity.py index b2d0f8224d..f8ab871310 100644 --- a/openpype/settings/entities/base_entity.py +++ b/openpype/settings/entities/base_entity.py @@ -110,6 +110,8 @@ class BaseItemEntity(BaseEntity): self.file_item = None # Reference to `RootEntity` self.root_item = None + # Change of value requires restart of OpenPype + self._require_restart = False # Entity is in hierarchy of dynamically created entity self.is_in_dynamic_item = False @@ -170,6 +172,10 @@ class BaseItemEntity(BaseEntity): roles = [roles] self.roles = roles + @property + def require_restart(self): + return self._require_restart + @property def has_studio_override(self): """Says if entity or it's children has studio overrides.""" @@ -787,6 +793,12 @@ class ItemEntity(BaseItemEntity): # Root item reference self.root_item = self.parent.root_item + # Item require restart on value change + require_restart = self.schema_data.get("require_restart") + if require_restart is None: + require_restart = self.parent.require_restart + self._require_restart = require_restart + # File item reference if self.parent.is_file: self.file_item = self.parent