diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4df3db2b..b92dd932 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -103,6 +103,8 @@ if(ENABLE_QT_GUI)
     find_package(Qt6 REQUIRED COMPONENTS Widgets Concurrent)
     qt_standard_project_setup()
     set(CMAKE_AUTORCC ON)
+    set(CMAKE_AUTOMOC ON)
+    set(CMAKE_AUTOUIC ON)
 endif()
 
 set(AUDIO_CORE src/audio_core/sdl_audio.cpp 
@@ -546,10 +548,13 @@ set(QT_GUI
     src/qt_gui/elf_viewer.h
     src/qt_gui/main_window_themes.cpp
     src/qt_gui/main_window_themes.h
+    src/qt_gui/settings_dialog.cpp
+    src/qt_gui/settings_dialog.h
+    src/qt_gui/settings_dialog.ui
     src/qt_gui/main.cpp
     ${EMULATOR}
     ${RESOURCE_FILES}
-    )
+)
 endif()
 
 if (ENABLE_QT_GUI)
diff --git a/src/common/config.cpp b/src/common/config.cpp
index f676ab94..c105650b 100644
--- a/src/common/config.cpp
+++ b/src/common/config.cpp
@@ -114,6 +114,66 @@ bool vkValidationSyncEnabled() {
     return vkValidationSync;
 }
 
+void setScreenWidth(u32 width) {
+    screenWidth = width;
+}
+
+void setScreenHeight(u32 height) {
+    screenHeight = height;
+}
+
+void setDebugDump(bool enable) {
+    isDebugDump = enable;
+}
+
+void setShowSplash(bool enable) {
+    isShowSplash = enable;
+}
+
+void setNullGpu(bool enable) {
+    isNullGpu = enable;
+}
+
+void setDumpShaders(bool enable) {
+    shouldDumpShaders = enable;
+}
+
+void setDumpPM4(bool enable) {
+    shouldDumpPM4 = enable;
+}
+
+void setVkValidation(bool enable) {
+    vkValidation = enable;
+}
+
+void setVkSyncValidation(bool enable) {
+    vkValidationSync = enable;
+}
+
+void setRdocEnabled(bool enable) {
+    rdocEnable = enable;
+}
+
+void setVblankDiv(u32 value) {
+    vblankDivider = value;
+}
+
+void setFullscreenMode(bool enable) {
+    isFullscreen = enable;
+}
+
+void setNeoMode(bool enable) {
+    isNeo = enable;
+}
+
+void setLogType(std::string type) {
+    logType = type;
+}
+
+void setLogFilter(std::string type) {
+    logFilter = type;
+}
+
 void setMainWindowGeometry(u32 x, u32 y, u32 w, u32 h) {
     main_window_geometry_x = x;
     main_window_geometry_y = y;
@@ -356,4 +416,22 @@ void save(const std::filesystem::path& path) {
     file << data;
     file.close();
 }
+
+void setDefaultValues() {
+    isNeo = false;
+    isFullscreen = false;
+    screenWidth = 1280;
+    screenHeight = 720;
+    logFilter = "";
+    logType = "async";
+    isDebugDump = false;
+    isShowSplash = false;
+    isNullGpu = false;
+    shouldDumpShaders = false;
+    shouldDumpPM4 = false;
+    vblankDivider = 1;
+    vkValidation = false;
+    rdocEnable = false;
+}
+
 } // namespace Config
diff --git a/src/common/config.h b/src/common/config.h
index 53c88ec9..6174b1e1 100644
--- a/src/common/config.h
+++ b/src/common/config.h
@@ -29,6 +29,24 @@ bool dumpPM4();
 bool isRdocEnabled();
 u32 vblankDiv();
 
+void setDebugDump(bool enable);
+void setShowSplash(bool enable);
+void setNullGpu(bool enable);
+void setDumpShaders(bool enable);
+void setDumpPM4(bool enable);
+void setVblankDiv(u32 value);
+void setScreenWidth(u32 width);
+void setScreenHeight(u32 height);
+void setFullscreenMode(bool enable);
+void setNeoMode(bool enable);
+
+void setLogType(std::string type);
+void setLogFilter(std::string type);
+
+void setVkValidation(bool enable);
+void setVkSyncValidation(bool enable);
+void setRdocEnabled(bool enable);
+
 bool vkValidationEnabled();
 bool vkValidationSyncEnabled();
 
@@ -64,7 +82,8 @@ std::vector<std::string> getPkgViewer();
 std::vector<std::string> getElfViewer();
 std::vector<std::string> getRecentFiles();
 
+void setDefaultValues();
+
 // settings
 u32 GetLanguage();
-
 }; // namespace Config
diff --git a/src/qt_gui/main_window.cpp b/src/qt_gui/main_window.cpp
index 646433ee..55bd5640 100644
--- a/src/qt_gui/main_window.cpp
+++ b/src/qt_gui/main_window.cpp
@@ -15,6 +15,7 @@
 #include "core/loader.h"
 #include "game_install_dialog.h"
 #include "main_window.h"
+#include "settings_dialog.h"
 
 MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent), ui(new Ui::MainWindow) {
     ui->setupUi(this);
@@ -185,6 +186,11 @@ void MainWindow::CreateConnects() {
     connect(m_game_list_frame.get(), &QTableWidget::cellDoubleClicked, this,
             &MainWindow::StartGame);
 
+    connect(ui->settingsButton, &QPushButton::clicked, this, [this]() {
+        auto settingsDialog = new SettingsDialog(this);
+        settingsDialog->exec();
+    });
+
     connect(ui->setIconSizeTinyAct, &QAction::triggered, this, [this]() {
         if (isTableList) {
             m_game_list_frame->icon_size =
diff --git a/src/qt_gui/settings_dialog.cpp b/src/qt_gui/settings_dialog.cpp
new file mode 100644
index 00000000..88c91ef6
--- /dev/null
+++ b/src/qt_gui/settings_dialog.cpp
@@ -0,0 +1,116 @@
+// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "settings_dialog.h"
+#include "ui_settings_dialog.h"
+
+SettingsDialog::SettingsDialog(QWidget* parent) : QDialog(parent), ui(new Ui::SettingsDialog) {
+    ui->setupUi(this);
+    ui->tabWidgetSettings->setUsesScrollButtons(false);
+    const auto config_dir = Common::FS::GetUserPath(Common::FS::PathType::UserDir);
+
+    ui->buttonBox->button(QDialogButtonBox::StandardButton::Close)->setFocus();
+
+    LoadValuesFromConfig();
+
+    connect(ui->buttonBox, &QDialogButtonBox::rejected, this, &QWidget::close);
+
+    connect(ui->buttonBox, &QDialogButtonBox::clicked, this,
+            [this, config_dir](QAbstractButton* button) {
+                if (button == ui->buttonBox->button(QDialogButtonBox::Save)) {
+                    Config::save(config_dir / "config.toml");
+                    QWidget::close();
+                } else if (button == ui->buttonBox->button(QDialogButtonBox::Apply)) {
+                    Config::save(config_dir / "config.toml");
+                } else if (button == ui->buttonBox->button(QDialogButtonBox::RestoreDefaults)) {
+                    Config::setDefaultValues();
+                    LoadValuesFromConfig();
+                }
+            });
+
+    connect(ui->tabWidgetSettings, &QTabWidget::currentChanged, this, [this]() {
+        ui->buttonBox->button(QDialogButtonBox::StandardButton::Close)->setFocus();
+    });
+
+    // GPU TAB
+    {
+        // TODO: Implement graphics device changing
+
+        connect(ui->widthSpinBox, &QSpinBox::valueChanged, this,
+                [](int val) { Config::setScreenWidth(val); });
+
+        connect(ui->heightSpinBox, &QSpinBox::valueChanged, this,
+                [](int val) { Config::setScreenHeight(val); });
+
+        connect(ui->vblankSpinBox, &QSpinBox::valueChanged, this,
+                [](int val) { Config::setVblankDiv(val); });
+
+        connect(ui->dumpShadersCheckBox, &QCheckBox::stateChanged, this,
+                [](int val) { Config::setDumpShaders(val); });
+
+        connect(ui->nullGpuCheckBox, &QCheckBox::stateChanged, this,
+                [](int val) { Config::setNullGpu(val); });
+
+        connect(ui->dumpPM4CheckBox, &QCheckBox::stateChanged, this,
+                [](int val) { Config::setDumpPM4(val); });
+    }
+
+    // GENERAL TAB
+    {
+        connect(ui->fullscreenCheckBox, &QCheckBox::stateChanged, this,
+                [](int val) { Config::setFullscreenMode(val); });
+
+        connect(ui->showSplashCheckBox, &QCheckBox::stateChanged, this,
+                [](int val) { Config::setShowSplash(val); });
+
+        connect(ui->ps4proCheckBox, &QCheckBox::stateChanged, this,
+                [](int val) { Config::setNeoMode(val); });
+
+        connect(ui->logTypeComboBox, &QComboBox::currentTextChanged, this,
+                [](const QString& text) { Config::setLogType(text.toStdString()); });
+
+        connect(ui->logFilterLineEdit, &QLineEdit::textChanged, this,
+                [](const QString& text) { Config::setLogFilter(text.toStdString()); });
+    }
+
+    // DEBUG TAB
+    {
+        connect(ui->debugDump, &QCheckBox::stateChanged, this,
+                [](int val) { Config::setDebugDump(val); });
+
+        connect(ui->vkValidationCheckBox, &QCheckBox::stateChanged, this,
+                [](int val) { Config::setVkValidation(val); });
+
+        connect(ui->vkSyncValidationCheckBox, &QCheckBox::stateChanged, this,
+                [](int val) { Config::setVkSyncValidation(val); });
+
+        connect(ui->rdocCheckBox, &QCheckBox::stateChanged, this,
+                [](int val) { Config::setRdocEnabled(val); });
+    }
+}
+
+void SettingsDialog::LoadValuesFromConfig() {
+    ui->widthSpinBox->setValue(Config::getScreenWidth());
+    ui->heightSpinBox->setValue(Config::getScreenHeight());
+    ui->vblankSpinBox->setValue(Config::vblankDiv());
+    ui->dumpShadersCheckBox->setChecked(Config::dumpShaders());
+    ui->nullGpuCheckBox->setChecked(Config::nullGpu());
+    ui->dumpPM4CheckBox->setChecked(Config::dumpPM4());
+
+    ui->fullscreenCheckBox->setChecked(Config::isFullscreenMode());
+    ui->showSplashCheckBox->setChecked(Config::showSplash());
+    ui->ps4proCheckBox->setChecked(Config::isNeoMode());
+    ui->logTypeComboBox->setCurrentText(QString::fromStdString(Config::getLogType()));
+    ui->logFilterLineEdit->setText(QString::fromStdString(Config::getLogFilter()));
+
+    ui->debugDump->setChecked(Config::debugDump());
+    ui->vkValidationCheckBox->setChecked(Config::vkValidationEnabled());
+    ui->vkSyncValidationCheckBox->setChecked(Config::vkValidationSyncEnabled());
+    ui->rdocCheckBox->setChecked(Config::isRdocEnabled());
+}
+
+int SettingsDialog::exec() {
+    return QDialog::exec();
+}
+
+SettingsDialog::~SettingsDialog() {}
\ No newline at end of file
diff --git a/src/qt_gui/settings_dialog.h b/src/qt_gui/settings_dialog.h
new file mode 100644
index 00000000..2bffa795
--- /dev/null
+++ b/src/qt_gui/settings_dialog.h
@@ -0,0 +1,28 @@
+// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include <QDialog>
+#include <QPushButton>
+
+#include "common/config.h"
+#include "common/path_util.h"
+
+namespace Ui {
+class SettingsDialog;
+}
+
+class SettingsDialog : public QDialog {
+    Q_OBJECT
+public:
+    explicit SettingsDialog(QWidget* parent = nullptr);
+    ~SettingsDialog();
+
+    int exec() override;
+
+private:
+    void LoadValuesFromConfig();
+
+    std::unique_ptr<Ui::SettingsDialog> ui;
+};
diff --git a/src/qt_gui/settings_dialog.ui b/src/qt_gui/settings_dialog.ui
new file mode 100644
index 00000000..507980eb
--- /dev/null
+++ b/src/qt_gui/settings_dialog.ui
@@ -0,0 +1,646 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>SettingsDialog</class>
+ <widget class="QDialog" name="SettingsDialog">
+  <property name="windowModality">
+   <enum>Qt::WindowModality::WindowModal</enum>
+  </property>
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>1024</width>
+    <height>768</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="windowTitle">
+   <string>Settings</string>
+  </property>
+  <property name="windowIcon">
+   <iconset>
+    <normaloff>:/images/shadps4.ico</normaloff>:/images/shadps4.ico</iconset>
+  </property>
+  <layout class="QVBoxLayout" name="settingsDialogLayout">
+   <item>
+    <widget class="QScrollArea" name="scrollArea">
+     <property name="frameShape">
+      <enum>QFrame::Shape::NoFrame</enum>
+     </property>
+     <property name="widgetResizable">
+      <bool>true</bool>
+     </property>
+     <widget class="QTabWidget" name="tabWidgetSettings">
+      <property name="enabled">
+       <bool>true</bool>
+      </property>
+      <property name="geometry">
+       <rect>
+        <x>0</x>
+        <y>0</y>
+        <width>1006</width>
+        <height>720</height>
+       </rect>
+      </property>
+      <property name="sizePolicy">
+       <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+        <horstretch>0</horstretch>
+        <verstretch>0</verstretch>
+       </sizepolicy>
+      </property>
+      <property name="currentIndex">
+       <number>1</number>
+      </property>
+      <widget class="QWidget" name="gpuTab">
+       <attribute name="title">
+        <string>GPU</string>
+       </attribute>
+       <layout class="QVBoxLayout" name="gpuTabLayout" stretch="0,0">
+        <item>
+         <layout class="QHBoxLayout" name="gpuTabLayout" stretch="1,1,1">
+          <item>
+           <layout class="QVBoxLayout" name="gpuTabLayoutLeft">
+            <item>
+             <widget class="QGroupBox" name="graphicsAdapterGroupBox">
+              <property name="title">
+               <string>Graphics Device</string>
+              </property>
+              <layout class="QVBoxLayout" name="graphicsAdapterLayout">
+               <item>
+                <widget class="QComboBox" name="graphicsAdapterBox"/>
+               </item>
+              </layout>
+             </widget>
+            </item>
+            <item>
+             <widget class="QWidget" name="widgetGpuTop" native="true">
+              <layout class="QHBoxLayout" name="widgetGpuTopLayout">
+               <property name="leftMargin">
+                <number>0</number>
+               </property>
+               <property name="topMargin">
+                <number>0</number>
+               </property>
+               <property name="rightMargin">
+                <number>0</number>
+               </property>
+               <property name="bottomMargin">
+                <number>0</number>
+               </property>
+              </layout>
+             </widget>
+            </item>
+            <item>
+             <widget class="QWidget" name="widgetGpuBottom" native="true">
+              <layout class="QHBoxLayout" name="widgetGpuBottomLayout">
+               <property name="leftMargin">
+                <number>0</number>
+               </property>
+               <property name="topMargin">
+                <number>0</number>
+               </property>
+               <property name="rightMargin">
+                <number>0</number>
+               </property>
+               <property name="bottomMargin">
+                <number>0</number>
+               </property>
+              </layout>
+             </widget>
+            </item>
+            <item>
+             <spacer name="gpu_tab_layout_right_spacer">
+              <property name="orientation">
+               <enum>Qt::Orientation::Vertical</enum>
+              </property>
+              <property name="sizeType">
+               <enum>QSizePolicy::Policy::MinimumExpanding</enum>
+              </property>
+              <property name="sizeHint" stdset="0">
+               <size>
+                <width>0</width>
+                <height>0</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
+           </layout>
+          </item>
+          <item>
+           <layout class="QVBoxLayout" name="gpuTabLayoutMiddle">
+            <item>
+             <layout class="QVBoxLayout" name="layoutResolution">
+              <property name="spacing">
+               <number>6</number>
+              </property>
+              <property name="leftMargin">
+               <number>0</number>
+              </property>
+              <item>
+               <layout class="QHBoxLayout" name="resolutionLayout">
+                <item>
+                 <widget class="QGroupBox" name="widthGroupBox">
+                  <property name="title">
+                   <string>Width</string>
+                  </property>
+                  <layout class="QVBoxLayout" name="widthLayout">
+                   <item>
+                    <widget class="QSpinBox" name="widthSpinBox">
+                     <property name="accelerated">
+                      <bool>true</bool>
+                     </property>
+                     <property name="correctionMode">
+                      <enum>QAbstractSpinBox::CorrectionMode::CorrectToNearestValue</enum>
+                     </property>
+                     <property name="keyboardTracking">
+                      <bool>false</bool>
+                     </property>
+                     <property name="minimum">
+                      <number>0</number>
+                     </property>
+                     <property name="maximum">
+                      <number>9999</number>
+                     </property>
+                     <property name="value">
+                      <number>1280</number>
+                     </property>
+                    </widget>
+                   </item>
+                  </layout>
+                 </widget>
+                </item>
+                <item>
+                 <widget class="QGroupBox" name="heightGroupBox">
+                  <property name="title">
+                   <string>Height</string>
+                  </property>
+                  <layout class="QVBoxLayout" name="heightLayout">
+                   <item>
+                    <widget class="QSpinBox" name="heightSpinBox">
+                     <property name="frame">
+                      <bool>true</bool>
+                     </property>
+                     <property name="accelerated">
+                      <bool>true</bool>
+                     </property>
+                     <property name="correctionMode">
+                      <enum>QAbstractSpinBox::CorrectionMode::CorrectToNearestValue</enum>
+                     </property>
+                     <property name="keyboardTracking">
+                      <bool>false</bool>
+                     </property>
+                     <property name="minimum">
+                      <number>0</number>
+                     </property>
+                     <property name="maximum">
+                      <number>9999</number>
+                     </property>
+                     <property name="value">
+                      <number>720</number>
+                     </property>
+                    </widget>
+                   </item>
+                  </layout>
+                 </widget>
+                </item>
+               </layout>
+              </item>
+             </layout>
+            </item>
+            <item>
+             <layout class="QVBoxLayout" name="vLayoutVblank">
+              <property name="spacing">
+               <number>6</number>
+              </property>
+              <property name="leftMargin">
+               <number>0</number>
+              </property>
+              <item>
+               <layout class="QHBoxLayout" name="hLayoutVblank">
+                <item>
+                 <widget class="QGroupBox" name="heightDivider">
+                  <property name="title">
+                   <string>Vblank Divider</string>
+                  </property>
+                  <layout class="QVBoxLayout" name="vblankLayout">
+                   <item>
+                    <widget class="QSpinBox" name="vblankSpinBox">
+                     <property name="frame">
+                      <bool>true</bool>
+                     </property>
+                     <property name="accelerated">
+                      <bool>true</bool>
+                     </property>
+                     <property name="correctionMode">
+                      <enum>QAbstractSpinBox::CorrectionMode::CorrectToNearestValue</enum>
+                     </property>
+                     <property name="keyboardTracking">
+                      <bool>false</bool>
+                     </property>
+                     <property name="minimum">
+                      <number>1</number>
+                     </property>
+                     <property name="maximum">
+                      <number>9999</number>
+                     </property>
+                     <property name="value">
+                      <number>1</number>
+                     </property>
+                    </widget>
+                   </item>
+                  </layout>
+                 </widget>
+                </item>
+               </layout>
+              </item>
+             </layout>
+            </item>
+            <item>
+             <spacer name="gpuTabLayoutMiddleSpacer">
+              <property name="orientation">
+               <enum>Qt::Orientation::Vertical</enum>
+              </property>
+              <property name="sizeType">
+               <enum>QSizePolicy::Policy::MinimumExpanding</enum>
+              </property>
+              <property name="sizeHint" stdset="0">
+               <size>
+                <width>0</width>
+                <height>0</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
+           </layout>
+          </item>
+          <item>
+           <layout class="QVBoxLayout" name="gpuTabLayoutRight">
+            <property name="rightMargin">
+             <number>12</number>
+            </property>
+            <property name="bottomMargin">
+             <number>12</number>
+            </property>
+            <item>
+             <widget class="QGroupBox" name="additionalSettingsGroupBox">
+              <property name="title">
+               <string>Additional Settings</string>
+              </property>
+              <property name="alignment">
+               <set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignVCenter</set>
+              </property>
+              <layout class="QVBoxLayout" name="additionalSettingsVLayout">
+               <item>
+                <widget class="QCheckBox" name="dumpShadersCheckBox">
+                 <property name="text">
+                  <string>Enable Shaders Dumping</string>
+                 </property>
+                </widget>
+               </item>
+               <item>
+                <widget class="QCheckBox" name="nullGpuCheckBox">
+                 <property name="text">
+                  <string>Enable NULL GPU</string>
+                 </property>
+                </widget>
+               </item>
+               <item>
+                <widget class="QCheckBox" name="dumpPM4CheckBox">
+                 <property name="text">
+                  <string>Enable PM4 Dumping</string>
+                 </property>
+                </widget>
+               </item>
+              </layout>
+             </widget>
+            </item>
+            <item>
+             <spacer name="additionalSettingsSpacer">
+              <property name="orientation">
+               <enum>Qt::Orientation::Vertical</enum>
+              </property>
+              <property name="sizeType">
+               <enum>QSizePolicy::Policy::MinimumExpanding</enum>
+              </property>
+              <property name="sizeHint" stdset="0">
+               <size>
+                <width>0</width>
+                <height>0</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
+           </layout>
+          </item>
+         </layout>
+        </item>
+        <item>
+         <spacer name="gpuTabSpacer">
+          <property name="orientation">
+           <enum>Qt::Orientation::Vertical</enum>
+          </property>
+          <property name="sizeType">
+           <enum>QSizePolicy::Policy::MinimumExpanding</enum>
+          </property>
+          <property name="sizeHint" stdset="0">
+           <size>
+            <width>0</width>
+            <height>0</height>
+           </size>
+          </property>
+         </spacer>
+        </item>
+       </layout>
+      </widget>
+      <widget class="QWidget" name="generalTab">
+       <attribute name="title">
+        <string>General</string>
+       </attribute>
+       <layout class="QVBoxLayout" name="generalTabVLayout" stretch="0,1">
+        <item>
+         <layout class="QHBoxLayout" name="generalTabHLayout" stretch="1,1,1">
+          <item>
+           <layout class="QVBoxLayout" name="generalTabLayoutLeft">
+            <item>
+             <widget class="QGroupBox" name="emuSettings">
+              <property name="title">
+               <string>Emulator Settings</string>
+              </property>
+              <layout class="QVBoxLayout" name="emuSettingsLayout">
+               <item>
+                <widget class="QCheckBox" name="fullscreenCheckBox">
+                 <property name="text">
+                  <string>Enable Fullscreen</string>
+                 </property>
+                </widget>
+               </item>
+               <item>
+                <widget class="QCheckBox" name="showSplashCheckBox">
+                 <property name="text">
+                  <string>Show Splash</string>
+                 </property>
+                </widget>
+               </item>
+               <item>
+                <widget class="QCheckBox" name="ps4proCheckBox">
+                 <property name="text">
+                  <string>Is PS4 Pro</string>
+                 </property>
+                </widget>
+               </item>
+               <item>
+                <spacer name="emulatorTabSpacerLeft">
+                 <property name="orientation">
+                  <enum>Qt::Orientation::Vertical</enum>
+                 </property>
+                 <property name="sizeType">
+                  <enum>QSizePolicy::Policy::MinimumExpanding</enum>
+                 </property>
+                 <property name="sizeHint" stdset="0">
+                  <size>
+                   <width>0</width>
+                   <height>0</height>
+                  </size>
+                 </property>
+                </spacer>
+               </item>
+              </layout>
+             </widget>
+            </item>
+           </layout>
+          </item>
+          <item>
+           <layout class="QVBoxLayout" name="emulatorTabLayoutMiddle">
+            <item>
+             <widget class="QGroupBox" name="loggerGroupBox">
+              <property name="title">
+               <string>Logger Settings</string>
+              </property>
+              <layout class="QVBoxLayout" name="loggerLayout">
+               <item>
+                <widget class="QWidget" name="LogTypeWidget" native="true">
+                 <layout class="QVBoxLayout" name="LogTypeLayout">
+                  <property name="leftMargin">
+                   <number>0</number>
+                  </property>
+                  <property name="topMargin">
+                   <number>0</number>
+                  </property>
+                  <property name="rightMargin">
+                   <number>0</number>
+                  </property>
+                  <property name="bottomMargin">
+                   <number>0</number>
+                  </property>
+                  <item>
+                   <widget class="QGroupBox" name="logTypeGroupBox">
+                    <property name="title">
+                     <string>Log Type</string>
+                    </property>
+                    <layout class="QVBoxLayout" name="logTypeBoxLayout">
+                     <item>
+                      <widget class="QComboBox" name="logTypeComboBox">
+                       <item>
+                        <property name="text">
+                         <string>async</string>
+                        </property>
+                       </item>
+                       <item>
+                        <property name="text">
+                         <string>sync</string>
+                        </property>
+                       </item>
+                      </widget>
+                     </item>
+                    </layout>
+                   </widget>
+                  </item>
+                 </layout>
+                </widget>
+               </item>
+               <item>
+                <layout class="QVBoxLayout" name="vLayoutLogFilter">
+                 <property name="spacing">
+                  <number>6</number>
+                 </property>
+                 <property name="leftMargin">
+                  <number>0</number>
+                 </property>
+                 <item>
+                  <layout class="QHBoxLayout" name="hLayoutLogFilter">
+                   <item>
+                    <widget class="QGroupBox" name="logFilter">
+                     <property name="title">
+                      <string>Log Filter</string>
+                     </property>
+                     <layout class="QVBoxLayout" name="logFilterLayout">
+                      <item>
+                       <widget class="QLineEdit" name="logFilterLineEdit"/>
+                      </item>
+                     </layout>
+                    </widget>
+                   </item>
+                  </layout>
+                 </item>
+                </layout>
+               </item>
+              </layout>
+             </widget>
+            </item>
+           </layout>
+          </item>
+          <item>
+           <layout class="QVBoxLayout" name="generalTabLayoutRight">
+            <item>
+             <widget class="QGroupBox" name="additionalSettings">
+              <property name="title">
+               <string>Additional Settings</string>
+              </property>
+              <layout class="QVBoxLayout" name="additionalSettingsVLayout">
+               <item>
+                <spacer name="emulatorTabSpacerRight">
+                 <property name="orientation">
+                  <enum>Qt::Orientation::Vertical</enum>
+                 </property>
+                 <property name="sizeType">
+                  <enum>QSizePolicy::Policy::MinimumExpanding</enum>
+                 </property>
+                 <property name="sizeHint" stdset="0">
+                  <size>
+                   <width>0</width>
+                   <height>0</height>
+                  </size>
+                 </property>
+                </spacer>
+               </item>
+              </layout>
+             </widget>
+            </item>
+           </layout>
+          </item>
+         </layout>
+        </item>
+        <item>
+         <spacer name="emulatorTabSpacer">
+          <property name="orientation">
+           <enum>Qt::Orientation::Vertical</enum>
+          </property>
+          <property name="sizeType">
+           <enum>QSizePolicy::Policy::MinimumExpanding</enum>
+          </property>
+          <property name="sizeHint" stdset="0">
+           <size>
+            <width>0</width>
+            <height>0</height>
+           </size>
+          </property>
+         </spacer>
+        </item>
+       </layout>
+      </widget>
+      <widget class="QWidget" name="debugTab">
+       <attribute name="title">
+        <string>Debug</string>
+       </attribute>
+       <layout class="QVBoxLayout" name="debugTabVLayout" stretch="0,1">
+        <item>
+         <layout class="QHBoxLayout" name="debugTabHLayout" stretch="1">
+          <item>
+           <widget class="QGroupBox" name="debugTabGroupBox">
+            <property name="enabled">
+             <bool>true</bool>
+            </property>
+            <property name="title">
+             <string>General</string>
+            </property>
+            <property name="alignment">
+             <set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop</set>
+            </property>
+            <layout class="QVBoxLayout" name="debugTabLayout">
+             <item alignment="Qt::AlignmentFlag::AlignTop">
+              <widget class="QCheckBox" name="debugDump">
+               <property name="text">
+                <string>Enable Debug Dumping</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <spacer name="verticalSpacer">
+               <property name="orientation">
+                <enum>Qt::Orientation::Vertical</enum>
+               </property>
+               <property name="sizeType">
+                <enum>QSizePolicy::Policy::MinimumExpanding</enum>
+               </property>
+               <property name="sizeHint" stdset="0">
+                <size>
+                 <width>0</width>
+                 <height>0</height>
+                </size>
+               </property>
+              </spacer>
+             </item>
+             <item>
+              <widget class="QCheckBox" name="vkValidationCheckBox">
+               <property name="text">
+                <string>Enable Vulkan Validation Layers</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QCheckBox" name="vkSyncValidationCheckBox">
+               <property name="text">
+                <string>Enable Vulkan Synchronization Validation</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QCheckBox" name="rdocCheckBox">
+               <property name="text">
+                <string>Enable RenderDoc Debugging</string>
+               </property>
+              </widget>
+             </item>
+            </layout>
+           </widget>
+          </item>
+         </layout>
+        </item>
+        <item>
+         <spacer name="debugTabSpacer">
+          <property name="orientation">
+           <enum>Qt::Orientation::Vertical</enum>
+          </property>
+          <property name="sizeType">
+           <enum>QSizePolicy::Policy::MinimumExpanding</enum>
+          </property>
+          <property name="sizeHint" stdset="0">
+           <size>
+            <width>0</width>
+            <height>0</height>
+           </size>
+          </property>
+         </spacer>
+        </item>
+       </layout>
+      </widget>
+     </widget>
+    </widget>
+   </item>
+   <item>
+    <widget class="QDialogButtonBox" name="buttonBox">
+     <property name="standardButtons">
+      <set>QDialogButtonBox::StandardButton::Apply|QDialogButtonBox::StandardButton::Close|QDialogButtonBox::StandardButton::RestoreDefaults|QDialogButtonBox::StandardButton::Save</set>
+     </property>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>