diff --git a/Assets/Content/Application/Importer.meta b/Assets/Content/Application/Importer.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d93c5615e11e64718a0b2e9b3b1b856743659ae9
--- /dev/null
+++ b/Assets/Content/Application/Importer.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: ca4db1c53d77fe640a278dcefd475b2c
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Content/Application/Importer/UXML_Application_Importer_Console.uxml b/Assets/Content/Application/Importer/UXML_Application_Importer_Console.uxml
new file mode 100644
index 0000000000000000000000000000000000000000..5f7be6cf1f3215b105f5cda59ce5f981f8270ef4
--- /dev/null
+++ b/Assets/Content/Application/Importer/UXML_Application_Importer_Console.uxml
@@ -0,0 +1,9 @@
+<ui:UXML xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements" noNamespaceSchemaLocation="../../../../UIElementsSchema/UIElements.xsd" editor-extension-mode="True">
+    <ui:DropdownField label="Model File" name="ModelFile" class="unity-base-field__aligned" />
+    <ui:DropdownField label="Definition File" name="DefinitionFile" class="unity-base-field__aligned" />
+    <ui:DropdownField label="Materials File" name="MaterialsFile" class="unity-base-field__aligned" />
+    <uie:ObjectField label="Handle Prefab" type="UnityEngine.GameObject, UnityEngine.CoreModule" value="project://database/Assets/Content/Movables/P_Handle_Bobble.prefab?fileID=2696025510662931233&amp;guid=794c77286affdba45aab02eb465d2f91&amp;type=3#P_Handle_Bobble" class="unity-base-field__aligned" />
+    <uie:PropertyField name="CursorDetectionRadius" binding-path="cursorDetectionRadius" label="Cursor Detection Radius" class="unity-base-field__aligned" />
+    <uie:LayerField label="Device Layer" name="DeviceLayer" value="8" class="unity-base-field__aligned" />
+    <uie:LayerField label="Slot Layer" name="SlotLayer" value="9" class="unity-base-field__aligned" />
+</ui:UXML>
diff --git a/Assets/Content/Application/Importer/UXML_Application_Importer_Console.uxml.meta b/Assets/Content/Application/Importer/UXML_Application_Importer_Console.uxml.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e5df71925cbb4e23c17585a8f44c2608f4406e93
--- /dev/null
+++ b/Assets/Content/Application/Importer/UXML_Application_Importer_Console.uxml.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 889c94e2073973e419eb5377c67545bc
+ScriptedImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 2
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
+  script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}
diff --git a/Assets/Scripts/Editor/Devices/ConsoleImporterEditor.cs b/Assets/Scripts/Editor/Devices/ConsoleImporterEditor.cs
index 0604d18d1c88d2af44c57f014febda40deb304e4..5142752990de90dfa7529fc3562b36da5df95e7a 100644
--- a/Assets/Scripts/Editor/Devices/ConsoleImporterEditor.cs
+++ b/Assets/Scripts/Editor/Devices/ConsoleImporterEditor.cs
@@ -4,6 +4,8 @@
 using Retropair.Devices;
 using UnityEditor;
 using UnityEditor.AssetImporters;
+using UnityEditor.UIElements;
+using UnityEngine.UIElements;
 
 namespace Retropair.Editor.Devices {
     [CustomEditor(typeof(ConsoleImporter))]
@@ -72,25 +74,30 @@ out _materialsIndex
             );
         }
 
-        void ProcessAssetProperty(string propertyName, in string[] paths, in string[] names, ref int index) {
-            int newIndex = EditorGUILayout.Popup(ObjectNames.NicifyVariableName(propertyName), index, names);
-            if (newIndex != index) {
-                index = newIndex;
+        VisualElement CreateAssetProperty(string propertyName, string[] paths, in string[] names, ref int index) {
+            var popup = new DropdownField(ObjectNames.NicifyVariableName(propertyName), names.ToList(), index);
+            popup.AddToClassList("unity-base-field__aligned");
+            popup.RegisterValueChangedCallback(evt => {
                 using var property = serializedObject.FindProperty(propertyName);
-                property.stringValue = AssetDatabase.AssetPathToGUID(paths[index]);
-            }
+                property.stringValue = AssetDatabase.AssetPathToGUID(paths[popup.index]);
+                serializedObject.ApplyModifiedProperties();
+            });
+            return popup;
         }
 
-        public override void OnInspectorGUI() {
-            serializedObject.Update();
+        public override VisualElement CreateInspectorGUI() {
+            var root = new VisualElement();
+            root.Add(CreateAssetProperty(ConsoleImporter.NAMEOF_MODEL_FILE, _blendPaths, _blendNames, ref _blendIndex));
+            root.Add(CreateAssetProperty(ConsoleImporter.NAMEOF_DEFINITION_FILE, _definitionPaths, _definitionNames, ref _definitionIndex));
+            root.Add(CreateAssetProperty(ConsoleImporter.NAMEOF_MATERIALS_FILE, _materialsPaths, _materialsNames, ref _materialsIndex));
 
-            ProcessAssetProperty(ConsoleImporter.NAMEOF_MODEL_FILE, _blendPaths, _blendNames, ref _blendIndex);
-            ProcessAssetProperty(ConsoleImporter.NAMEOF_DEFINITION_FILE, _definitionPaths, _definitionNames, ref _definitionIndex);
-            ProcessAssetProperty(ConsoleImporter.NAMEOF_MATERIALS_FILE, _materialsPaths, _materialsNames, ref _materialsIndex);
+            InspectorElement.FillDefaultInspector(root, serializedObject, this);
+            root.Add(base.CreateInspectorGUI());
 
-            serializedObject.ApplyModifiedProperties();
+            var applyRevertGUI = new IMGUIContainer(ApplyRevertGUI);
+            root.Add(applyRevertGUI);
 
-            base.OnInspectorGUI();
+            return root;
         }
     }
 }
diff --git a/Assets/Scripts/Editor/Devices/ConsoleImporterEditor.cs.meta b/Assets/Scripts/Editor/Devices/ConsoleImporterEditor.cs.meta
index 7d3fbe885e860795c016671823760f697e01419f..f4d154ce0042343d77fccbed4ea21562ad620ab2 100644
--- a/Assets/Scripts/Editor/Devices/ConsoleImporterEditor.cs.meta
+++ b/Assets/Scripts/Editor/Devices/ConsoleImporterEditor.cs.meta
@@ -1,2 +1,12 @@
 fileFormatVersion: 2
-guid: 310ee2d60af897c4eae8e4104816bdb5
\ No newline at end of file
+guid: 310ee2d60af897c4eae8e4104816bdb5
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences:
+  - inspectorUXML: {fileID: 9197481963319205126, guid: 889c94e2073973e419eb5377c67545bc, type: 3}
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
