diff --git a/functions/dialogs.sh b/functions/dialogs.sh
index db5298fd..af005e63 100644
--- a/functions/dialogs.sh
+++ b/functions/dialogs.sh
@@ -118,9 +118,9 @@ configurator_move_folder_dialog() {
             if [[ -d "$dest_root/$rd_dir_path" ]]; then # If the move succeeded
               declare -g "$rd_dir_name=$dest_root/$rd_dir_path" # Set the new path for that folder variable in retrodeck.cfg
               if [[ "$rd_dir_name" == "rdhome" ]]; then # If the whole retrodeck folder was moved...
-                prepare_emulator "postmove" "retrodeck"
+                prepare_component "postmove" "retrodeck"
               fi
-              prepare_emulator "postmove" "all" # Update all the appropriate emulator path settings
+              prepare_component "postmove" "all" # Update all the appropriate emulator path settings
               conf_write # Write the settings to retrodeck.cfg
               if [[ -z $(ls -1 "$source_root/retrodeck") ]]; then # Cleanup empty old_path/retrodeck folder if it was left behind
                 rmdir "$source_root/retrodeck"
@@ -150,7 +150,7 @@ configurator_move_folder_dialog() {
     configurator_generic_dialog "RetroDECK Configurator - Move Folder" "The $(basename $dir_to_move) folder was not found at the expected location.\n\nThis may have happened if the folder was moved manually.\n\nPlease select the current location of the folder."
     dir_to_move=$(directory_browse "RetroDECK $(basename $dir_to_move) directory location")
     declare -g "$rd_dir_name=$dir_to_move"
-    prepare_emulator "postmove" "all"
+    prepare_component "postmove" "all"
     conf_write
     configurator_generic_dialog "RetroDECK Configurator - Move Folder" "RetroDECK $(basename $dir_to_move) folder now configured at\n$dir_to_move."
     configurator_move_folder_dialog "$rd_dir_name"
diff --git a/functions/functions.sh b/functions/functions.sh
index d3349f33..740b54fc 100644
--- a/functions/functions.sh
+++ b/functions/functions.sh
@@ -435,7 +435,7 @@ finit() {
 
   esac
 
-  prepare_emulator "reset" "retrodeck" # Parse the [paths] section of retrodeck.cfg and set the value of / create all needed folders
+  prepare_component "reset" "retrodeck" # Parse the [paths] section of retrodeck.cfg and set the value of / create all needed folders
 
   conf_write # Write the new values to retrodeck.cfg
 
@@ -451,7 +451,7 @@ finit() {
   --text="RetroDECK will now install the needed files, which can take up to one minute.\nRetroDECK will start once the process is completed.\n\nPress OK to continue."
 
   (
-  prepare_emulator "reset" "all"
+  prepare_component "reset" "all"
   build_retrodeck_current_presets
   deploy_helper_files
 
diff --git a/functions/global.sh b/functions/global.sh
index 954acdda..5c61ecd3 100644
--- a/functions/global.sh
+++ b/functions/global.sh
@@ -10,7 +10,7 @@ source /app/libexec/functions.sh
 source /app/libexec/multi_user.sh
 source /app/libexec/patching.sh
 source /app/libexec/post_update.sh
-source /app/libexec/prepare_emulator.sh
+source /app/libexec/prepare_component.sh
 source /app/libexec/presets.sh
 
 # Static variables
@@ -177,8 +177,8 @@ else
     new_home_path=$(directory_browse "RetroDECK folder location")
     set_setting_value $rd_conf "rdhome" "$new_home_path" retrodeck "paths"
     conf_read
-    prepare_emulator "retrodeck" "postmove"
-    prepare_emulator "all" "postmove"
+    prepare_component "retrodeck" "postmove"
+    prepare_component "all" "postmove"
     conf_write
   fi
 
diff --git a/functions/multi_user.sh b/functions/multi_user.sh
index 08d9bf4d..6a744814 100644
--- a/functions/multi_user.sh
+++ b/functions/multi_user.sh
@@ -208,7 +208,7 @@ multi_user_setup_new_user() {
   do
     if [[ ! -z $(grep "^$emu_conf$" "$multi_user_emulator_config_dirs") ]]; then
       unlink "/var/config/$emu_conf"
-      prepare_emulator "reset" "$emu_conf"
+      prepare_component "reset" "$emu_conf"
     fi
   done
   for emu_conf in $(find "/var/config" -mindepth 1 -maxdepth 1 -type d -printf '%f\n') # For all the currently non-linked config folders, like from a newly-added emulator
@@ -238,7 +238,7 @@ multi_user_link_current_user_files() {
       if [[ -d "$multi_user_data_folder/$SteamAppUser/config/$emu_conf" ]]; then # If the current user already has a config folder for this emulator
         ln -sfT "$multi_user_data_folder/$SteamAppUser/config/$emu_conf" "retrodeck/config/$emu_conf"
       else # If the current user doesn't have a config folder for this emulator, init it and then link it
-        prepare_emulator "reset" "$emu_conf"
+        prepare_component "reset" "$emu_conf"
         dir_prep "$multi_user_data_folder/$SteamAppUser/config/$emu_conf" "/var/config/$emu_conf"
       fi
     fi
diff --git a/functions/post_update.sh b/functions/post_update.sh
index 99b23dac..8f118b76 100644
--- a/functions/post_update.sh
+++ b/functions/post_update.sh
@@ -21,7 +21,7 @@ post_update() {
     # - Fix PICO-8 folder structure. ROM and save folders are now sane and binary files will go into ~/retrodeck/bios/pico-8/
 
     rm -rf /var/config/primehack # Purge old Primehack config files. Saves are safe as they are linked into /var/data/primehack.
-    prepare_emulator "reset" "primehack"
+    prepare_component "reset" "primehack"
 
     dir_prep "$rdhome/saves/duckstation" "/var/data/duckstation/memcards"
     dir_prep "$rdhome/states/duckstation" "/var/data/duckstation/savestates"
@@ -212,14 +212,14 @@ post_update() {
 
     set_setting_value "$ppssppconf" "AutoLoadSaveState" "0" "ppsspp" "General"
 
-    prepare_emulator "reset" "cemu"
+    prepare_component "reset" "cemu"
 
-    prepare_emulator "reset" "pico8"
+    prepare_component "reset" "pico8"
 
     configurator_generic_dialog "RetroDECK 0.7.0b Upgrade" "Would you like to install the official controller profile?\n(this will reset your custom emulator settings)\n\nAfter installation you can enable it from from Controller Settings -> Templates."
     if [[ $(configurator_generic_question_dialog "RetroDECK Official Controller Profile" "Would you like to install the official RetroDECK controller profile?") == "true" ]]; then
       install_retrodeck_controller_profile
-      prepare_emulator "reset" "all"
+      prepare_component "reset" "all"
     fi
   fi
   if [[ $prev_version -le "071" ]]; then
@@ -276,9 +276,9 @@ post_update() {
 
   if [[ $prev_version -le "075" ]]; then
     # In version 0.7.5b, the following changes were made:
-    prepare_emulator "reset" "vita3k"
-    prepare_emulator "reset" "mame"
-    prepare_emulator "reset" "boilr"
+    prepare_component "reset" "vita3k"
+    prepare_component "reset" "mame"
+    prepare_component "reset" "boilr"
     if [ -d "$rdhome/.logs" ]; then
       mv "$rdhome/.logs" "$logs_folder"
       log i "Logs folder renamed successfully"
diff --git a/functions/prepare_emulator.sh b/functions/prepare_component.sh
similarity index 95%
rename from functions/prepare_emulator.sh
rename to functions/prepare_component.sh
index 733a5116..510f2985 100644
--- a/functions/prepare_emulator.sh
+++ b/functions/prepare_component.sh
@@ -1,19 +1,19 @@
 #!/bin/bash
 
-prepare_emulator() {
-  # This function will perform one of several actions on one or more emulators
+prepare_component() {
+  # This function will perform one of several actions on one or more components
   # The actions currently include "reset" and "postmove"
-  # The "reset" action will initialize the emulator
-  # The "postmove" action will update the emulator settings after one or more RetroDECK folders were moved
-  # An emulator can be called by name, by parent folder name in the /var/config root or use the option "all" to perform the action on all emulators equally
+  # The "reset" action will initialize the component
+  # The "postmove" action will update the component settings after one or more RetroDECK folders were moved
+  # An component can be called by name, by parent folder name in the /var/config root or use the option "all" to perform the action on all components equally
   # The function will also behave differently depending on if the initial request was from the Configurator, the CLI interface or a normal function call if needed
-  # USAGE: prepare_emulator "$action" "$emulator" "$call_source(optional)"
+  # USAGE: prepare_component "$action" "$component" "$call_source(optional)"
 
   action="$1"
-  emulator="$2"
+  component="$2"
   call_source="$3"
 
-  if [[ "$emulator" == "retrodeck" ]]; then
+  if [[ "$component" == "retrodeck" ]]; then
     if [[ "$action" == "reset" ]]; then # Update the paths of all folders in retrodeck.cfg and create them
       while read -r config_line; do
         local current_setting_name=$(get_setting_name "$config_line" "retrodeck")
@@ -37,7 +37,7 @@ prepare_emulator() {
     fi
   fi
 
-  if [[ "$emulator" =~ ^(emulationstation|all)$ ]]; then # For use after ESDE-related folders are moved or a reset
+  if [[ "$component" =~ ^(es-de|ES-DE|all)$ ]]; then # For use after ESDE-related folders are moved or a reset
     if [[ "$action" == "reset" ]]; then
       rm -rf /var/config/emulationstation/
       mkdir -p /var/config/emulationstation/.emulationstation/
@@ -57,7 +57,7 @@ prepare_emulator() {
     fi
   fi
 
-  if [[ "$emulator" =~ ^(retroarch|RetroArch|all)$ ]]; then
+  if [[ "$component" =~ ^(retroarch|RetroArch|all)$ ]]; then
     if [[ "$action" == "reset" ]]; then # Run reset-only commands
       if [[ $multi_user_mode == "true" ]]; then # Multi-user actions
         rm -rf "$multi_user_data_folder/$SteamAppUser/config/retroarch"
@@ -154,7 +154,7 @@ prepare_emulator() {
     fi
   fi
 
-  if [[ "$emulator" =~ ^(cemu|Cemu|all)$ ]]; then
+  if [[ "$component" =~ ^(cemu|Cemu|all)$ ]]; then
     if [[ "$action" == "reset" ]]; then # Run reset-only commands
       echo "----------------------"
       echo "Initializing CEMU"
@@ -183,7 +183,7 @@ prepare_emulator() {
     fi
   fi
 
-  if [[ "$emulator" =~ ^(citra|citra-emu|Citra|all)$ ]]; then
+  if [[ "$component" =~ ^(citra|citra-emu|Citra|all)$ ]]; then
     if [[ "$action" == "reset" ]]; then # Run reset-only commands
       echo "------------------------"
       echo "Initializing CITRA"
@@ -230,7 +230,7 @@ prepare_emulator() {
     fi
   fi
 
-  if [[ "$emulator" =~ ^(dolphin|dolphin-emu|Dolphin|all)$ ]]; then
+  if [[ "$component" =~ ^(dolphin|dolphin-emu|Dolphin|all)$ ]]; then
     if [[ "$action" == "reset" ]]; then # Run reset-only commands
       echo "----------------------"
       echo "Initializing DOLPHIN"
@@ -285,7 +285,7 @@ prepare_emulator() {
     fi
   fi
 
-  if [[ "$emulator" =~ ^(duckstation|Duckstation|all)$ ]]; then
+  if [[ "$component" =~ ^(duckstation|Duckstation|all)$ ]]; then
     if [[ "$action" == "reset" ]]; then # Run reset-only commands
       echo "------------------------"
       echo "Initializing DUCKSTATION"
@@ -332,7 +332,7 @@ prepare_emulator() {
     fi
   fi
 
-  if [[ "$emulator" =~ ^(melonds|melonDS|MelonDS|all)$ ]]; then
+  if [[ "$component" =~ ^(melonds|melonDS|MelonDS|all)$ ]]; then
     if [[ "$action" == "reset" ]]; then # Run reset-only commands
       echo "----------------------"
       echo "Initializing MELONDS"
@@ -372,7 +372,7 @@ prepare_emulator() {
     fi
   fi
 
-  if [[ "$emulator" =~ ^(pcsx2|PCSX2|all)$ ]]; then
+  if [[ "$component" =~ ^(pcsx2|PCSX2|all)$ ]]; then
     if [[ "$action" == "reset" ]]; then # Run reset-only commands
       echo "----------------------"
       echo "Initializing PCSX2"
@@ -418,7 +418,7 @@ prepare_emulator() {
     fi
   fi
 
-  if [[ "$emulator" =~ ^(pico8|pico-8|all)$ ]]; then
+  if [[ "$component" =~ ^(pico8|pico-8|all)$ ]]; then
     if [[ ("$action" == "reset") || ("$action" == "postmove") ]]; then
       dir_prep "$bios_folder/pico-8" "$HOME/.lexaloffle/pico-8" # Store binary and config files together. The .lexaloffle directory is a hard-coded location for the PICO-8 config file, cannot be changed
       dir_prep "$roms_folder/pico8" "$bios_folder/pico-8/carts" # Symlink default game location to RD roms for cleanliness (this location is overridden anyway by the --root_path launch argument anyway)
@@ -428,7 +428,7 @@ prepare_emulator() {
     fi
   fi
 
-  if [[ "$emulator" =~ ^(ppsspp|PPSSPP|all)$ ]]; then
+  if [[ "$component" =~ ^(ppsspp|PPSSPP|all)$ ]]; then
     if [[ "$action" == "reset" ]]; then # Run reset-only commands
       echo "------------------------"
       echo "Initializing PPSSPPSDL"
@@ -458,7 +458,7 @@ prepare_emulator() {
     fi
   fi
 
-  if [[ "$emulator" =~ ^(primehack|Primehack|all)$ ]]; then
+  if [[ "$component" =~ ^(primehack|Primehack|all)$ ]]; then
     if [[ "$action" == "reset" ]]; then # Run reset-only commands
       echo "----------------------"
       echo "Initializing Primehack"
@@ -502,7 +502,7 @@ prepare_emulator() {
     fi
   fi
 
-  if [[ "$emulator" =~ ^(rpcs3|RPCS3|all)$ ]]; then
+  if [[ "$component" =~ ^(rpcs3|RPCS3|all)$ ]]; then
     if [[ "$action" == "reset" ]]; then # Run reset-only commands
       echo "------------------------"
       echo "Initializing RPCS3"
@@ -540,7 +540,7 @@ prepare_emulator() {
     fi
   fi
 
-  if [[ "$emulator" =~ ^(ryujunx|Ryujinx|all)$ ]]; then
+  if [[ "$component" =~ ^(ryujunx|Ryujinx|all)$ ]]; then
     if [[ "$action" == "reset" ]]; then # Run reset-only commands
       echo "------------------------"
       echo "Initializing RYUJINX"
@@ -567,7 +567,7 @@ prepare_emulator() {
     fi
   fi
 
-  if [[ "$emulator" =~ ^(xemu|XEMU|all)$ ]]; then
+  if [[ "$component" =~ ^(xemu|XEMU|all)$ ]]; then
     if [[ "$action" == "reset" ]]; then # Run reset-only commands
       echo "------------------------"
       echo "Initializing XEMU"
@@ -583,12 +583,12 @@ prepare_emulator() {
         set_setting_value "$multi_user_data_folder/$SteamAppUser/config/xemu/xemu.toml" "flashrom_path" "'$bios_folder/Complex.bin'" "xemu" "sys.files"
         set_setting_value "$multi_user_data_folder/$SteamAppUser/config/xemu/xemu.toml" "eeprom_path" "'$saves_folder/xbox/xemu/xbox-eeprom.bin'" "xemu" "sys.files"
         set_setting_value "$multi_user_data_folder/$SteamAppUser/config/xemu/xemu.toml" "hdd_path" "'$bios_folder/xbox_hdd.qcow2'" "xemu" "sys.files"
-        dir_prep "$multi_user_data_folder/$SteamAppUser/config/xemu" "/var/config/xemu" # Creating config folder in /var/config for consistentcy and linking back to original location where emulator will look
+        dir_prep "$multi_user_data_folder/$SteamAppUser/config/xemu" "/var/config/xemu" # Creating config folder in /var/config for consistentcy and linking back to original location where component will look
         dir_prep "$multi_user_data_folder/$SteamAppUser/config/xemu" "/var/data/xemu/xemu"
       else # Single-user actions
         rm -rf /var/config/xemu
         rm -rf /var/data/xemu
-        dir_prep "/var/config/xemu" "/var/data/xemu/xemu" # Creating config folder in /var/config for consistentcy and linking back to original location where emulator will look
+        dir_prep "/var/config/xemu" "/var/data/xemu/xemu" # Creating config folder in /var/config for consistentcy and linking back to original location where component will look
         cp -fv $emuconfigs/xemu/xemu.toml "$xemuconf"
         set_setting_value "$xemuconf" "screenshot_dir" "'$screenshots_folder'" "xemu" "General"
         set_setting_value "$xemuconf" "bootrom_path" "'$bios_folder/mcpx_1.0.bin'" "xemu" "sys.files"
@@ -612,7 +612,7 @@ prepare_emulator() {
     fi
   fi
 
-  if [[ "$emulator" =~ ^(yuzu|Yuzu|all)$ ]]; then
+  if [[ "$component" =~ ^(yuzu|Yuzu|all)$ ]]; then
     if [[ "$action" == "reset" ]]; then # Run reset-only commands
       echo "----------------------"
       echo "Initializing YUZU"
@@ -668,7 +668,7 @@ prepare_emulator() {
     fi
   fi
 
-  if [[ "$emulator" =~ ^(vita3k|Vita3K|all)$ ]]; then
+  if [[ "$component" =~ ^(vita3k|Vita3K|all)$ ]]; then
     if [[ "$action" == "reset" ]]; then # Run reset-only commands
       echo "----------------------"
       echo "Initializing Vita3K"
@@ -676,13 +676,13 @@ prepare_emulator() {
       if [[ $multi_user_mode == "true" ]]; then # Multi-user actions
         echo "Figure out what Vita3k needs for multi-user"
       else # Single-user actions
-        # NOTE: the emulator is writing in "." so it must be placed in the rw filesystem. A symlink of the binary is already placed in /app/bin/Vita3K
+        # NOTE: the component is writing in "." so it must be placed in the rw filesystem. A symlink of the binary is already placed in /app/bin/Vita3K
         rm -rf "/var/data/Vita3K"
         mkdir -p "/var/data/Vita3K"
         unzip "/app/retrodeck/vita3k.zip" -d "/var/data/Vita3K"
         chmod +x "/var/data/Vita3K/Vita3K"
         rm -f "/var/data/Vita3K/update-vita3k.sh"
-        cp -fvr "$emuconfigs/vita3k/config.yml" "/var/data/Vita3K" # Emulator config
+        cp -fvr "$emuconfigs/vita3k/config.yml" "/var/data/Vita3K" # component config
         cp -fvr "$emuconfigs/vita3k/ux0" "$bios_folder/Vita3K/Vita3K" # User config
         set_setting_value "$vita3kconf" "pref-path" "$rdhome/bios/Vita3K/Vita3K/" "vita3k"
       fi
@@ -702,9 +702,9 @@ prepare_emulator() {
     fi
   fi
 
-  if [[ "$emulator" =~ ^(mame|MAME|all)$ ]]; then
+  if [[ "$component" =~ ^(mame|MAME|all)$ ]]; then
     # TODO: do a proper script
-    # This is just a placeholder script to test the emulator's flow
+    # This is just a placeholder script to test the component's flow
     echo "----------------------"
     echo "Initializing MAME"
     echo "----------------------"
@@ -719,9 +719,9 @@ prepare_emulator() {
 
   fi
 
-  if [[ "$emulator" =~ ^(gzdoom|GZDOOM|all)$ ]]; then
+  if [[ "$component" =~ ^(gzdoom|GZDOOM|all)$ ]]; then
     # TODO: do a proper script
-    # This is just a placeholder script to test the emulator's flow
+    # This is just a placeholder script to test the component's flow
     echo "----------------------"
     echo "Initializing GZDOOM"
     echo "----------------------"
@@ -735,7 +735,7 @@ prepare_emulator() {
     sed -i 's#RETRODECKSAVESDIR#'$saves_folder'#g' "/var/config/gzdoom/gzdoom.ini" # This is an unfortunate one-off because set_setting_value does not currently support JSON
   fi
 
-  if [[ "$emulator" =~ ^(boilr|BOILR|all)$ ]]; then
+  if [[ "$component" =~ ^(boilr|BOILR|all)$ ]]; then
     echo "----------------------"
     echo "Initializing BOILR"
     echo "----------------------"
@@ -745,8 +745,8 @@ prepare_emulator() {
     
   fi
 
-  # Update presets for all emulators after any reset or move
-  if [[ ! "$emulator" == "retrodeck" ]]; then
+  # Update presets for all components after any reset or move
+  if [[ ! "$component" == "retrodeck" ]]; then
     build_retrodeck_current_presets
   fi
 }
diff --git a/retrodeck.sh b/retrodeck.sh
index 254d383f..edb0241a 100644
--- a/retrodeck.sh
+++ b/retrodeck.sh
@@ -13,15 +13,15 @@ for i in "$@"; do
 flatpak run [FLATPAK-RUN-OPTION] net.retrodeck-retrodeck [ARGUMENTS]
 
 Arguments:
-    -h, --help                    Print this help
-    -v, --version                 Print RetroDECK version
-    --info-msg                    Print paths and config informations
-    --configurator                Starts the RetroDECK Configurator
-    --compress-one <file>         Compresses target file to a compatible format
-    --compress-all <format>       Compresses all supported games into compatible format. Available formats are \"chd\", \"zip\", \"rvz\" and \"all\".
-    --reset-emulator <emulator>   Reset one or more emulator configs to the default values
-    --reset-emulationstation      Reset EmulationStation DE to default settings
-    --reset-retrodeck             Starts the initial RetroDECK installer (backup your data first!)
+    -h, --help                      Print this help
+    -v, --version                   Print RetroDECK version
+    --info-msg                      Print paths and config informations
+    --configurator                  Starts the RetroDECK Configurator
+    --compress-one <file>           Compresses target file to a compatible format
+    --compress-all <format>         Compresses all supported games into compatible format. Available formats are \"chd\", \"zip\", \"rvz\" and \"all\".
+    --reset-component <component>   Reset one or more component or emulator configs to the default values
+    --reset-es-de                   Reset EmulationStation DE to default settings
+    --reset-retrodeck               Starts the initial RetroDECK installer (backup your data first!)
 
 For flatpak run specific options please run: flatpak run -h
 
@@ -55,14 +55,14 @@ https://retrodeck.net
         shift
       fi
       ;;
-    --reset-emulator*)
-      echo "You are about to reset one or more RetroDECK emulators."
-      echo "Available options are: retroarch cemu citra dolphin duckstation melonds pcsx2 ppsspp primehack rpcs3 xemu yuzu all-emulators"
-      read -p "Please enter the emulator you would like to reset: " emulator
-      if [[ "$emulator" =~ ^(retroarch|cemu|citra|dolphin|duckstation|melonds|pcsx2|ppsspp|primehack|rpcs3|xemu|yuzu|all-emulators)$ ]]; then
-        read -p "You are about to reset $emulator to default settings. Enter 'y' to continue, 'n' to stop: " response
+    --reset-component*)
+      echo "You are about to reset one or more RetroDECK components or emulators."
+      echo "Available options are: es-de, retroarch, cemu, citra, dolphin, duckstation, melonds, pcsx3, pico8, ppsspp, primehack, rpcs3, xemu, yuzu, vita3k, mame, gzdoom, boilr, all"
+      read -p "Please enter the component you would like to reset: " component
+      if [[ "$component" =~ ^(es-de | retroarch | cemu | citra | dolphin | duckstation | melonds | pcsx3 | pico8 | ppsspp | primehack | rpcs3 | xemu | yuzu | vita3k | mame | gzdoom | boilr | all)$ ]]; then
+        read -p "You are about to reset $component to default settings. Enter 'y' to continue, 'n' to stop: " response
         if [[ $response == [yY] ]]; then
-          prepare_emulator "reset" "$emulator" "cli"
+          prepare_component "reset" "$component" "cli"
           read -p "The process has been completed, press Enter key to start RetroDECK."
           shift # Continue launch after previous command is finished
         else
@@ -70,15 +70,15 @@ https://retrodeck.net
           exit
         fi
       else
-        echo "$emulator is not a valid selection, exiting..."
+        echo "$component is not a valid selection, exiting..."
         exit
       fi
       ;;
-    --reset-emulationstation*)
-      echo "You are about to reset EmulationStation DE to default settings. Your scraped media, downloaded themes and gamelists will remain untouched."
+    --reset-es-de*)
+      echo "You are about to reset ES-DE to default settings. Your scraped media, downloaded themes and gamelists will remain untouched."
       read -p "Enter 'y' to continue, 'n' to stop: " response
       if [[ $response == [yY] ]]; then
-        prepare_emulator "reset" "emulationstation" "cli"
+        prepare_component "reset" "ES-DE" "cli"
         read -p "The process has been completed, press Enter key to start RetroDECK."
         shift # Continue launch after previous command is finished
       else
diff --git a/tools/configurator.sh b/tools/configurator.sh
index e781711d..196befb2 100644
--- a/tools/configurator.sh
+++ b/tools/configurator.sh
@@ -984,18 +984,18 @@ configurator_reset_dialog() {
   choice=$(zenity --list --title="RetroDECK Configurator Utility - RetroDECK: Reset" --cancel-label="Back" \
   --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \
   --column="Choice" --column="Action" \
-  "Reset Specific Emulator" "Reset only one specific emulator to default settings" \
-  "Reset All Emulators" "Reset all emulators to default settings" \
-  "Reset EmulationStation DE" "Reset the ES-DE frontend" \
+  "Reset Specific Emulator" "Reset only one specific emulator or engine to default settings" \
+  "Reset RetroDECK Component" "Reset a single component, components are parts of RetroDECK that are not emulators" \
+  "Reset All Emulators and Components" "Reset all emulators and components to default settings" \
   "Reset RetroDECK" "Reset RetroDECK to default settings" )
 
   case $choice in
 
   "Reset Specific Emulator" )
-    emulator_to_reset=$(zenity --list \
+    component_to_reset=$(zenity --list \
     --title "RetroDECK Configurator Utility - Reset Specific Standalone Emulator" --cancel-label="Back" \
     --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \
-    --text="Which emulator do you want to reset to default?" \
+    --text="Which emulator or engine do you want to reset to default?" \
     --column="Emulator" --column="Action" \
     "RetroArch" "Reset the multi-emulator frontend RetroArch to default settings" \
     "Cemu" "Reset the Wii U emulator Cemu to default settings" \
@@ -1009,18 +1009,19 @@ configurator_reset_dialog() {
     "PPSSPP" "Reset the PSP emulator PPSSPP to default settings" \
     "Primehack" "Reset the Metroid Prime emulator Primehack to default settings" \
     "RPCS3" "Reset the PS3 emulator RPCS3 to default settings" \
-    "Ryujinx" "Reset the Switch emulator Ryujinx to default settings" \
     "Vita3k" "Reset the PS Vita emulator Vita3k to default settings" \
     "XEMU" "Reset the XBOX emulator XEMU to default settings" \
     "Yuzu" "Reset the Switch emulator Yuzu to default settings" )
 
-    case $emulator_to_reset in
+    # "Ryujinx" "Reset the Switch emulator Ryujinx to default settings" \
+
+    case $component_to_reset in
 
     "RetroArch" | "Vita3k" | "XEMU" ) # Emulators that require network access
       if [[ $(check_network_connectivity) == "true" ]]; then
-        if [[ $(configurator_reset_confirmation_dialog "$emulator_to_reset" "Are you sure you want to reset the $emulator_to_reset emulator to default settings?\n\nThis process cannot be undone.") == "true" ]]; then
-          prepare_emulator "reset" "$emulator_to_reset" "configurator"
-          configurator_process_complete_dialog "resetting $emulator_to_reset"
+        if [[ $(configurator_reset_confirmation_dialog "$component_to_reset" "Are you sure you want to reset the $component_to_reset emulator to default settings?\n\nThis process cannot be undone.") == "true" ]]; then
+          prepare_component "reset" "$component_to_reset" "configurator"
+          configurator_process_complete_dialog "resetting $component_to_reset"
         else
           configurator_generic_dialog "RetroDeck Configurator - RetroDECK: Reset" "Reset process cancelled."
           configurator_reset_dialog
@@ -1032,9 +1033,38 @@ configurator_reset_dialog() {
     ;;
 
     "Cemu" | "Citra" | "Dolphin" | "Duckstation" | "MelonDS" | "PCSX2" | "PPSSPP" | "Primehack" | "RPCS3" | "Ryujinx" | "Yuzu" )
-      if [[ $(configurator_reset_confirmation_dialog "$emulator_to_reset" "Are you sure you want to reset the $emulator_to_reset emulator to default settings?\n\nThis process cannot be undone.") == "true" ]]; then
-        prepare_emulator "reset" "$emulator_to_reset" "configurator"
-        configurator_process_complete_dialog "resetting $emulator_to_reset"
+      if [[ $(configurator_reset_confirmation_dialog "$component_to_reset" "Are you sure you want to reset the $component_to_reset emulator to default settings?\n\nThis process cannot be undone.") == "true" ]]; then
+        prepare_component "reset" "$component_to_reset" "configurator"
+        configurator_process_complete_dialog "resetting $component_to_reset"
+      else
+        configurator_generic_dialog "RetroDeck Configurator - RetroDECK: Reset" "Reset process cancelled."
+        configurator_reset_dialog
+      fi
+    ;;
+
+    "" ) # No selection made or Back button clicked
+      configurator_reset_dialog
+    ;;
+
+    esac
+  ;;
+
+  "Reset RetroDECK Component" )
+    component_to_reset=$(zenity --list \
+    --title "RetroDECK Configurator Utility - Reset Specific RetroDECK Component" --cancel-label="Back" \
+    --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \
+    --text="Which component do you want to reset to default?" \
+    --column="Component" --column="Action" \
+    "BoilR" "Reset BoilR that manages the sync and scraping toward Steam library" \ 
+    "ES-DE" "Reset the ES-DE frontend" \ )
+    # TODO: "GyroDSU" "Reset the gyroscope manager GyroDSU"
+
+    case $component_to_reset in
+
+    "BoilR" | "ES-DE" ) # TODO: GyroDSU
+      if [[ $(configurator_reset_confirmation_dialog "$component_to_reset" "Are you sure you want to reset $component_to_reset to default settings?\n\nThis process cannot be undone.") == "true" ]]; then
+        prepare_component "reset" "$component_to_reset" "configurator"
+        configurator_process_complete_dialog "resetting $component_to_reset"
       else
         configurator_generic_dialog "RetroDeck Configurator - RetroDECK: Reset" "Reset process cancelled."
         configurator_reset_dialog
@@ -1052,7 +1082,7 @@ configurator_reset_dialog() {
   if [[ $(check_network_connectivity) == "true" ]]; then
     if [[ $(configurator_reset_confirmation_dialog "all emulators" "Are you sure you want to reset all emulators to default settings?\n\nThis process cannot be undone.") == "true" ]]; then
       (
-      prepare_emulator "reset" "all"
+      prepare_component "reset" "all"
       ) |
       zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \
       --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
@@ -1069,20 +1099,6 @@ configurator_reset_dialog() {
   fi
 ;;
 
-"Reset EmulationStation DE" )
-  if [[ $(configurator_reset_confirmation_dialog "EmulationStation DE" "Are you sure you want to reset EmulationStation DE to default settings?\n\nYour scraped media, downloaded themes and gamelists will not be touched.\n\nThis process cannot be undone.") == "true" ]]; then
-    zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap \
-    --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
-    --title "RetroDECK Configurator Utility - Reset EmulationStation DE" \
-    --text="You are resetting EmulationStation DE to its default settings.\n\nAfter the process is complete you will need to exit RetroDECK and run it again."
-    prepare_emulator "reset" "emulationstation" "configurator"
-    configurator_process_complete_dialog "resetting EmulationStation DE"
-  else
-    configurator_generic_dialog "RetroDeck Configurator - EmulationStation DE: Reset" "Reset process cancelled."
-    configurator_reset_dialog
-  fi
-;;
-
 "Reset RetroDECK" )
   if [[ $(configurator_reset_confirmation_dialog "RetroDECK" "Are you sure you want to reset RetroDECK entirely?\n\nThis process cannot be undone.") == "true" ]]; then
     zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap \