Missing defaults in settings
 ## Description
- tray should show popup if there are missing default values in settings

[cuID:PYPE-1221]
diff --git a/openpype/settings/__init__.py b/openpype/settings/__init__.py
index 74f2684b2a..9d7598a948 100644
--- a/openpype/settings/__init__.py
+++ b/openpype/settings/__init__.py
@@ -25,7 +25,8 @@ from .lib import (
 )
 from .entities import (
     SystemSettings,
-    ProjectSettings
+    ProjectSettings,
+    DefaultsNotDefined
 )
 
 
@@ -51,6 +52,8 @@ __all__ = (
     "get_anatomy_settings",
     "get_environments",
     "get_local_settings",
+
     "SystemSettings",
-    "ProjectSettings"
+    "ProjectSettings",
+    "DefaultsNotDefined"
 )
diff --git a/openpype/tools/tray/pype_tray.py b/openpype/tools/tray/pype_tray.py
index 35b254513f..fde43980cc 100644
--- a/openpype/tools/tray/pype_tray.py
+++ b/openpype/tools/tray/pype_tray.py
@@ -17,6 +17,11 @@ from openpype.api import (
 from openpype.lib import get_pype_execute_args
 from openpype.modules import TrayModulesManager
 from openpype import style
+from openpype.settings import (
+    SystemSettings,
+    ProjectSettings,
+    DefaultsNotDefined
+)
 
 from .pype_info_widget import PypeInfoWidget
 
@@ -114,6 +119,54 @@ class TrayManager:
 
         self.main_thread_timer = main_thread_timer
 
+        # For storing missing settings dialog
+        self._settings_validation_dialog = None
+
+        self.execute_in_main_thread(self._startup_validations)
+
+    def _startup_validations(self):
+        """Run possible startup validations."""
+        self._validate_settings_defaults()
+
+    def _validate_settings_defaults(self):
+        valid = True
+        try:
+            SystemSettings()
+            ProjectSettings()
+
+        except DefaultsNotDefined:
+            valid = False
+
+        if valid:
+            return
+
+        title = "Settings miss default values"
+        msg = (
+            "Your OpenPype will not work as expected! \\n"
+            "Some default values in settigs are missing. \\n\\n"
+            "Please contact OpenPype team."
+        )
+        msg_box = QtWidgets.QMessageBox(
+            QtWidgets.QMessageBox.Warning,
+            title,
+            msg,
+            QtWidgets.QMessageBox.Ok,
+            flags=QtCore.Qt.Dialog
+        )
+        icon = QtGui.QIcon(resources.get_openpype_icon_filepath())
+        msg_box.setWindowIcon(icon)
+        msg_box.setStyleSheet(style.load_stylesheet())
+        msg_box.buttonClicked.connect(self._post_validate_settings_defaults)
+
+        self._settings_validation_dialog = msg_box
+
+        msg_box.show()
+
+    def _post_validate_settings_defaults(self):
+        widget = self._settings_validation_dialog
+        self._settings_validation_dialog = None
+        widget.deleteLater()
+
     def show_tray_message(self, title, message, icon=None, msecs=None):
         """Show tray message.
 
['openpype/settings/__init__.py', 'openpype/tools/tray/pype_tray.py']