diff --git a/.gitignore b/.gitignore
index 98e9c0c3..394dc8f1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -26,6 +26,9 @@ vcpkg_installed/
!.vscode/extensions.json
*.code-workspace
+### clangd ###
+.cache
+
# Project-specific
build/*
out/
diff --git a/driver/slimevr/resources/input/.gitkeep b/driver/slimevr/resources/input/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/driver/slimevr/resources/input/example_controller_bindings.json b/driver/slimevr/resources/input/example_controller_bindings.json
deleted file mode 100644
index 51099b15..00000000
--- a/driver/slimevr/resources/input/example_controller_bindings.json
+++ /dev/null
@@ -1,83 +0,0 @@
-{
- "jsonid": "input_profile",
- "controller_type": "example_controller",
- "device_class": "TrackedDeviceClass_Controller",
- "resource_root": "example",
- "driver_name": "example",
- "input_bindingui_mode": "controller_handed",
- "should_show_binding_errors": true,
- "input_bindingui_left": {
- "image": "{example}/icons/example_controller_left.svg"
- },
- "input_bindingui_right": {
- "image": "{example}/icons/example_controller_right.svg"
- },
- "input_source": {
- "/pose/raw" : {
- "type" : "pose",
- "binding_image_point" : [ 0,0 ]
- },
- "/output/haptic": {
- "type": "vibration",
- "binding_image_point": [0,0]
- },
- "/input/a": {
- "type": "button",
- "click": true,
- "touch" : true,
- "binding_image_point": [0,0]
- },
- "/input/b": {
- "type": "button",
- "click": true,
- "touch" : true,
- "binding_image_point": [0,0]
- },
- "/input/trigger" : {
- "type" : "trigger",
- "click" : true,
- "touch" : true,
- "value" : true,
- "binding_image_point" : [ 0, 0 ]
- },
- "/input/grip" : {
- "type" : "trigger",
- "force" : true,
- "value" : true,
- "touch" : true,
- "input_activity_path" : "/input/grip/force",
- "input_activity_threshold" : 0.1,
- "binding_image_point" : [ 0, 0 ]
- },
- "/input/system": {
- "type": "button",
- "click": true,
- "touch" : true,
- "binding_image_point": [0,0]
- },
- "/input/trackpad": {
- "type": "trackpad",
- "click": true,
- "touch" : true,
- "binding_image_point": [0,0]
- },
- "/input/joystick": {
- "type": "joystick",
- "click": true,
- "touch": true,
- "binding_image_point": [0,0]
- },
- "/input/skeleton/left" : {
- "type" : "skeleton",
- "skeleton": "/skeleton/hand/left",
- "side" : "left",
- "binding_image_point" : [ 0, 0 ]
- },
- "/input/skeleton/right" : {
- "type" : "skeleton",
- "skeleton": "/skeleton/hand/right",
- "side" : "right",
- "binding_image_point" : [ 0, 0 ]
- }
- }
-}
diff --git a/driver/slimevr/resources/input/example_controller_left.svg b/driver/slimevr/resources/input/example_controller_left.svg
deleted file mode 100644
index b6e47d8a..00000000
--- a/driver/slimevr/resources/input/example_controller_left.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/driver/slimevr/resources/input/example_controller_right.svg b/driver/slimevr/resources/input/example_controller_right.svg
deleted file mode 100644
index 95b609dc..00000000
--- a/driver/slimevr/resources/input/example_controller_right.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/driver/slimevr/resources/input/example_tracker_bindings.json b/driver/slimevr/resources/input/example_tracker_bindings.json
deleted file mode 100644
index 763d09e9..00000000
--- a/driver/slimevr/resources/input/example_tracker_bindings.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- "jsonid": "input_profile",
- "controller_type": "example_tracker",
- "device_class": "TrackedDeviceClass_GenericTracker",
- "resource_root": "example",
- "driver_name": "example",
- "input_bindingui_mode": "single_device",
- "should_show_binding_errors": true,
- "input_bindingui_left": {
- "transform": "scale(-1,1)",
- "image": "{example}/icons/example_tracker.svg"
- },
- "input_bindingui_right": {
- "image": "{example}/icons/example_tracker.svg"
- },
- "input_source": {
- "/pose/raw" : {
- "type" : "pose",
- "binding_image_point" : [ 0,0 ]
- },
- "/output/haptic": {
- "type": "vibration",
- "binding_image_point": [0,0]
- },
- "/input/system": {
- "type": "button",
- "click": true,
- "binding_image_point": [0,0]
- }
- }
-}
diff --git a/driver/slimevr/resources/input/slimevr_tracker_profile.json b/driver/slimevr/resources/input/slimevr_tracker_profile.json
new file mode 100755
index 00000000..6dc992c1
--- /dev/null
+++ b/driver/slimevr/resources/input/slimevr_tracker_profile.json
@@ -0,0 +1,36 @@
+{
+ "jsonid" : "input_profile",
+ "controller_type": "slimevr_tracker",
+ "input_bindingui_mode" : "single_device",
+ "driver_name" : "slimevr",
+ "input_bindingui_right" :
+ {
+ "image": "{htc}/icons/vive_tracker.svg"
+ },
+ "priority" : 7,
+ "tracker_types" :
+ {
+ "TrackerRole_Handed" : "{slimevr}/input/tracker/slimevr_tracker_handed_profile.json",
+ "TrackerRole_LeftFoot" : "{slimevr}/input/tracker/slimevr_tracker_left_foot_profile.json",
+ "TrackerRole_RightFoot" : "{slimevr}/input/tracker/slimevr_tracker_right_foot_profile.json",
+ "TrackerRole_LeftShoulder" : "{slimevr}/input/tracker/slimevr_tracker_left_shoulder_profile.json",
+ "TrackerRole_RightShoulder" : "{slimevr}/input/tracker/slimevr_tracker_right_shoulder_profile.json",
+ "TrackerRole_LeftElbow" : "{slimevr}/input/tracker/slimevr_tracker_left_elbow_profile.json",
+ "TrackerRole_RightElbow" : "{slimevr}/input/tracker/slimevr_tracker_right_elbow_profile.json",
+ "TrackerRole_LeftKnee" : "{slimevr}/input/tracker/slimevr_tracker_left_knee_profile.json",
+ "TrackerRole_RightKnee" : "{slimevr}/input/tracker/slimevr_tracker_right_knee_profile.json",
+ "TrackerRole_LeftWrist" : "{slimevr}/input/tracker/slimevr_tracker_left_wrist_profile.json",
+ "TrackerRole_RightWrist" : "{slimevr}/input/tracker/slimevr_tracker_right_wrist_profile.json",
+ "TrackerRole_LeftAnkle" : "{slimevr}/input/tracker/slimevr_tracker_left_ankle_profile.json",
+ "TrackerRole_RightAnkle" : "{slimevr}/input/tracker/slimevr_tracker_right_ankle_profile.json",
+ "TrackerRole_Waist" : "{slimevr}/input/tracker/slimevr_tracker_waist_profile.json",
+ "TrackerRole_Chest" : "{slimevr}/input/tracker/slimevr_tracker_chest_profile.json"
+ },
+ "input_source" :
+ {
+ "/pose/raw" : {
+ "type" : "pose",
+ "binding_image_point" : [ 63, 148 ]
+ }
+ }
+}
diff --git a/driver/slimevr/resources/input/tracker/slimevr_tracker_chest_profile.json b/driver/slimevr/resources/input/tracker/slimevr_tracker_chest_profile.json
new file mode 100755
index 00000000..208d57e8
--- /dev/null
+++ b/driver/slimevr/resources/input/tracker/slimevr_tracker_chest_profile.json
@@ -0,0 +1,19 @@
+{
+ "jsonid" : "input_profile",
+ "controller_type": "slimevr_tracker_chest",
+ "device_class": "TrackedDeviceClass_GenericTracker",
+ "driver_name" : "slimevr",
+ "input_bindingui_mode" : "single_device",
+ "input_bindingui_right" :
+ {
+ "image": "{htc}/icons/vive_tracker.svg"
+ },
+
+ "input_source" :
+ {
+ "/pose/raw" : {
+ "type" : "pose",
+ "binding_image_point" : [ 100, 90 ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/driver/slimevr/resources/input/tracker/slimevr_tracker_handed_profile.json b/driver/slimevr/resources/input/tracker/slimevr_tracker_handed_profile.json
new file mode 100755
index 00000000..d3d39b4c
--- /dev/null
+++ b/driver/slimevr/resources/input/tracker/slimevr_tracker_handed_profile.json
@@ -0,0 +1,25 @@
+{
+ "jsonid" : "input_profile",
+ "controller_type": "slimevr_tracker_handed",
+ "override_device_class" : "TrackedDeviceClass_Controller",
+ "device_class": "TrackedDeviceClass_GenericTracker",
+ "driver_name" : "slimevr",
+ "input_bindingui_mode" : "controller_handed",
+ "hand_priority" : -1,
+ "input_bindingui_left" :
+ {
+ "transform" : "scale(-1,1)",
+ "image": "{htc}/icons/vive_tracker_with_handle.svg"
+ },
+ "input_bindingui_right" :
+ {
+ "image": "{htc}/icons/vive_tracker_with_handle.svg"
+ },
+ "input_source" :
+ {
+ "/pose/raw" : {
+ "type" : "pose",
+ "binding_image_point" : [ 15, 25 ]
+ }
+ }
+}
diff --git a/driver/slimevr/resources/input/tracker/slimevr_tracker_left_ankle_profile.json b/driver/slimevr/resources/input/tracker/slimevr_tracker_left_ankle_profile.json
new file mode 100755
index 00000000..756d1732
--- /dev/null
+++ b/driver/slimevr/resources/input/tracker/slimevr_tracker_left_ankle_profile.json
@@ -0,0 +1,19 @@
+{
+ "jsonid" : "input_profile",
+ "controller_type": "slimevr_tracker_left_ankle",
+ "device_class": "TrackedDeviceClass_GenericTracker",
+ "driver_name" : "slimevr",
+ "input_bindingui_mode" : "single_device",
+ "input_bindingui_right" :
+ {
+ "image": "{htc}/icons/vive_tracker.svg"
+ },
+
+ "input_source" :
+ {
+ "/pose/raw" : {
+ "type" : "pose",
+ "binding_image_point" : [ 100, 90 ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/driver/slimevr/resources/input/tracker/slimevr_tracker_left_elbow_profile.json b/driver/slimevr/resources/input/tracker/slimevr_tracker_left_elbow_profile.json
new file mode 100755
index 00000000..5587f175
--- /dev/null
+++ b/driver/slimevr/resources/input/tracker/slimevr_tracker_left_elbow_profile.json
@@ -0,0 +1,19 @@
+{
+ "jsonid" : "input_profile",
+ "controller_type": "slimevr_tracker_left_elbow",
+ "device_class": "TrackedDeviceClass_GenericTracker",
+ "driver_name" : "slimevr",
+ "input_bindingui_mode" : "single_device",
+ "input_bindingui_right" :
+ {
+ "image": "{htc}/icons/vive_tracker.svg"
+ },
+
+ "input_source" :
+ {
+ "/pose/raw" : {
+ "type" : "pose",
+ "binding_image_point" : [ 100, 90 ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/driver/slimevr/resources/input/tracker/slimevr_tracker_left_foot_profile.json b/driver/slimevr/resources/input/tracker/slimevr_tracker_left_foot_profile.json
new file mode 100755
index 00000000..cca447f6
--- /dev/null
+++ b/driver/slimevr/resources/input/tracker/slimevr_tracker_left_foot_profile.json
@@ -0,0 +1,19 @@
+{
+ "jsonid" : "input_profile",
+ "controller_type": "slimevr_tracker_left_foot",
+ "device_class": "TrackedDeviceClass_GenericTracker",
+ "driver_name" : "slimevr",
+ "input_bindingui_mode" : "single_device",
+ "input_bindingui_right" :
+ {
+ "image": "{htc}/icons/vive_tracker.svg"
+ },
+
+ "input_source" :
+ {
+ "/pose/raw" : {
+ "type" : "pose",
+ "binding_image_point" : [ 100, 90 ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/driver/slimevr/resources/input/tracker/slimevr_tracker_left_knee_profile.json b/driver/slimevr/resources/input/tracker/slimevr_tracker_left_knee_profile.json
new file mode 100755
index 00000000..11cd6662
--- /dev/null
+++ b/driver/slimevr/resources/input/tracker/slimevr_tracker_left_knee_profile.json
@@ -0,0 +1,19 @@
+{
+ "jsonid" : "input_profile",
+ "controller_type": "slimevr_tracker_left_knee",
+ "device_class": "TrackedDeviceClass_GenericTracker",
+ "driver_name" : "slimevr",
+ "input_bindingui_mode" : "single_device",
+ "input_bindingui_right" :
+ {
+ "image": "{htc}/icons/vive_tracker.svg"
+ },
+
+ "input_source" :
+ {
+ "/pose/raw" : {
+ "type" : "pose",
+ "binding_image_point" : [ 100, 90 ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/driver/slimevr/resources/input/tracker/slimevr_tracker_left_shoulder_profile.json b/driver/slimevr/resources/input/tracker/slimevr_tracker_left_shoulder_profile.json
new file mode 100755
index 00000000..20b6e777
--- /dev/null
+++ b/driver/slimevr/resources/input/tracker/slimevr_tracker_left_shoulder_profile.json
@@ -0,0 +1,19 @@
+{
+ "jsonid" : "input_profile",
+ "controller_type": "slimevr_tracker_left_shoulder",
+ "device_class": "TrackedDeviceClass_GenericTracker",
+ "driver_name" : "slimevr",
+ "input_bindingui_mode" : "single_device",
+ "input_bindingui_right" :
+ {
+ "image": "{htc}/icons/vive_tracker.svg"
+ },
+
+ "input_source" :
+ {
+ "/pose/raw" : {
+ "type" : "pose",
+ "binding_image_point" : [ 100, 90 ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/driver/slimevr/resources/input/tracker/slimevr_tracker_left_wrist_profile.json b/driver/slimevr/resources/input/tracker/slimevr_tracker_left_wrist_profile.json
new file mode 100755
index 00000000..ff69b503
--- /dev/null
+++ b/driver/slimevr/resources/input/tracker/slimevr_tracker_left_wrist_profile.json
@@ -0,0 +1,19 @@
+{
+ "jsonid" : "input_profile",
+ "controller_type": "slimevr_tracker_left_wrist",
+ "device_class": "TrackedDeviceClass_GenericTracker",
+ "driver_name" : "slimevr",
+ "input_bindingui_mode" : "single_device",
+ "input_bindingui_right" :
+ {
+ "image": "{htc}/icons/vive_tracker.svg"
+ },
+
+ "input_source" :
+ {
+ "/pose/raw" : {
+ "type" : "pose",
+ "binding_image_point" : [ 100, 90 ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/driver/slimevr/resources/input/tracker/slimevr_tracker_right_ankle_profile.json b/driver/slimevr/resources/input/tracker/slimevr_tracker_right_ankle_profile.json
new file mode 100755
index 00000000..8a8e12a5
--- /dev/null
+++ b/driver/slimevr/resources/input/tracker/slimevr_tracker_right_ankle_profile.json
@@ -0,0 +1,19 @@
+{
+ "jsonid" : "input_profile",
+ "controller_type": "slimevr_tracker_right_ankle",
+ "device_class": "TrackedDeviceClass_GenericTracker",
+ "driver_name" : "slimevr",
+ "input_bindingui_mode" : "single_device",
+ "input_bindingui_right" :
+ {
+ "image": "{htc}/icons/vive_tracker.svg"
+ },
+
+ "input_source" :
+ {
+ "/pose/raw" : {
+ "type" : "pose",
+ "binding_image_point" : [ 100, 90 ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/driver/slimevr/resources/input/tracker/slimevr_tracker_right_elbow_profile.json b/driver/slimevr/resources/input/tracker/slimevr_tracker_right_elbow_profile.json
new file mode 100755
index 00000000..3bd662d3
--- /dev/null
+++ b/driver/slimevr/resources/input/tracker/slimevr_tracker_right_elbow_profile.json
@@ -0,0 +1,19 @@
+{
+ "jsonid" : "input_profile",
+ "controller_type": "slimevr_tracker_right_elbow",
+ "device_class": "TrackedDeviceClass_GenericTracker",
+ "driver_name" : "slimevr",
+ "input_bindingui_mode" : "single_device",
+ "input_bindingui_right" :
+ {
+ "image": "{htc}/icons/vive_tracker.svg"
+ },
+
+ "input_source" :
+ {
+ "/pose/raw" : {
+ "type" : "pose",
+ "binding_image_point" : [ 100, 90 ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/driver/slimevr/resources/input/tracker/slimevr_tracker_right_foot_profile.json b/driver/slimevr/resources/input/tracker/slimevr_tracker_right_foot_profile.json
new file mode 100755
index 00000000..c1ac77e4
--- /dev/null
+++ b/driver/slimevr/resources/input/tracker/slimevr_tracker_right_foot_profile.json
@@ -0,0 +1,19 @@
+{
+ "jsonid" : "input_profile",
+ "controller_type": "slimevr_tracker_right_foot",
+ "device_class": "TrackedDeviceClass_GenericTracker",
+ "driver_name" : "slimevr",
+ "input_bindingui_mode" : "single_device",
+ "input_bindingui_right" :
+ {
+ "image": "{htc}/icons/vive_tracker.svg"
+ },
+
+ "input_source" :
+ {
+ "/pose/raw" : {
+ "type" : "pose",
+ "binding_image_point" : [ 100, 90 ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/driver/slimevr/resources/input/tracker/slimevr_tracker_right_knee_profile.json b/driver/slimevr/resources/input/tracker/slimevr_tracker_right_knee_profile.json
new file mode 100755
index 00000000..77df14df
--- /dev/null
+++ b/driver/slimevr/resources/input/tracker/slimevr_tracker_right_knee_profile.json
@@ -0,0 +1,19 @@
+{
+ "jsonid" : "input_profile",
+ "controller_type": "slimevr_tracker_right_knee",
+ "device_class": "TrackedDeviceClass_GenericTracker",
+ "driver_name" : "slimevr",
+ "input_bindingui_mode" : "single_device",
+ "input_bindingui_right" :
+ {
+ "image": "{htc}/icons/vive_tracker.svg"
+ },
+
+ "input_source" :
+ {
+ "/pose/raw" : {
+ "type" : "pose",
+ "binding_image_point" : [ 100, 90 ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/driver/slimevr/resources/input/tracker/slimevr_tracker_right_shoulder_profile.json b/driver/slimevr/resources/input/tracker/slimevr_tracker_right_shoulder_profile.json
new file mode 100755
index 00000000..7f1a623b
--- /dev/null
+++ b/driver/slimevr/resources/input/tracker/slimevr_tracker_right_shoulder_profile.json
@@ -0,0 +1,19 @@
+{
+ "jsonid" : "input_profile",
+ "controller_type": "slimevr_tracker_right_shoulder",
+ "device_class": "TrackedDeviceClass_GenericTracker",
+ "driver_name" : "slimevr",
+ "input_bindingui_mode" : "single_device",
+ "input_bindingui_right" :
+ {
+ "image": "{htc}/icons/vive_tracker.svg"
+ },
+
+ "input_source" :
+ {
+ "/pose/raw" : {
+ "type" : "pose",
+ "binding_image_point" : [ 100, 90 ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/driver/slimevr/resources/input/tracker/slimevr_tracker_right_wrist_profile.json b/driver/slimevr/resources/input/tracker/slimevr_tracker_right_wrist_profile.json
new file mode 100755
index 00000000..5140e52d
--- /dev/null
+++ b/driver/slimevr/resources/input/tracker/slimevr_tracker_right_wrist_profile.json
@@ -0,0 +1,19 @@
+{
+ "jsonid" : "input_profile",
+ "controller_type": "slimevr_tracker_right_wrist",
+ "device_class": "TrackedDeviceClass_GenericTracker",
+ "input_bindingui_mode" : "single_device",
+ "driver_name" : "slimevr",
+ "input_bindingui_right" :
+ {
+ "image": "{htc}/icons/vive_tracker.svg"
+ },
+
+ "input_source" :
+ {
+ "/pose/raw" : {
+ "type" : "pose",
+ "binding_image_point" : [ 100, 90 ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/driver/slimevr/resources/input/tracker/slimevr_tracker_waist_profile.json b/driver/slimevr/resources/input/tracker/slimevr_tracker_waist_profile.json
new file mode 100755
index 00000000..9c039552
--- /dev/null
+++ b/driver/slimevr/resources/input/tracker/slimevr_tracker_waist_profile.json
@@ -0,0 +1,19 @@
+{
+ "jsonid" : "input_profile",
+ "controller_type": "slimevr_tracker_waist",
+ "device_class": "TrackedDeviceClass_GenericTracker",
+ "driver_name" : "slimevr",
+ "input_bindingui_mode" : "single_device",
+ "input_bindingui_right" :
+ {
+ "image": "{htc}/icons/vive_tracker.svg"
+ },
+
+ "input_source" :
+ {
+ "/pose/raw" : {
+ "type" : "pose",
+ "binding_image_point" : [ 100, 90 ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/driver/slimevr/resources/localization/localization.json b/driver/slimevr/resources/localization/localization.json
index 72b69804..d85396f3 100644
--- a/driver/slimevr/resources/localization/localization.json
+++ b/driver/slimevr/resources/localization/localization.json
@@ -1,16 +1,20 @@
[
{
"language_tag": "en_US",
- "example_controller": "Example Controller",
- "example_tracker": "Example Tracker",
- "example_basestation": "Example BaseStation",
- "/input/a": "A Button",
- "/input/b": "B Button",
- "/input/system": "System Button",
- "/input/trackpad": "Trackpad",
- "/input/joystick": "Joystick",
- "/input/skeleton": "Skeleton",
- "/input/trigger": "Trigger",
- "/output/haptic": "Haptic"
+ "slimevr_tracker" : "SlimeVR Tracker",
+ "slimevr_tracker_left_foot" : "SlimeVR Tracker on Left Foot",
+ "slimevr_tracker_right_foot" : "SlimeVR Tracker on Right Foot",
+ "slimevr_tracker_left_shoulder" : "SlimeVR Tracker on Left Shoulder",
+ "slimevr_tracker_right_shoulder" : "SlimeVR Tracker on Right Shoulder",
+ "slimevr_tracker_left_elbow" : "SlimeVR Tracker on Left Elbow",
+ "slimevr_tracker_right_elbow" : "SlimeVR Tracker on Right Elbow",
+ "slimevr_tracker_left_knee" : "SlimeVR Tracker on Left Knee",
+ "slimevr_tracker_right_knee" : "SlimeVR Tracker on Right Knee",
+ "slimevr_tracker_left_wrist" : "SlimeVR Tracker on Left Wrist",
+ "slimevr_tracker_right_wrist" : "SlimeVR Tracker on Right Wrist",
+ "slimevr_tracker_left_ankle" : "SlimeVR Tracker on Left Ankle",
+ "slimevr_tracker_right_ankle" : "SlimeVR Tracker on Right Ankle",
+ "slimevr_tracker_waist" : "SlimeVR Tracker on Waist",
+ "slimevr_tracker_chest" : "SlimeVR Tracker on Chest"
}
]
diff --git a/driver/slimevr/resources/rendermodels/.gitkeep b/driver/slimevr/resources/rendermodels/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/driver/slimevr/resources/rendermodels/example_controller/example_controller.fbx b/driver/slimevr/resources/rendermodels/example_controller/example_controller.fbx
deleted file mode 100644
index 9ab31054..00000000
Binary files a/driver/slimevr/resources/rendermodels/example_controller/example_controller.fbx and /dev/null differ
diff --git a/driver/slimevr/resources/rendermodels/example_controller/example_controller.mtl b/driver/slimevr/resources/rendermodels/example_controller/example_controller.mtl
deleted file mode 100644
index 08f028cc..00000000
--- a/driver/slimevr/resources/rendermodels/example_controller/example_controller.mtl
+++ /dev/null
@@ -1,13 +0,0 @@
-# Blender MTL File: 'None'
-# Material Count: 1
-
-newmtl Material_75
-Ns 900.000000
-Ka 1.000000 1.000000 1.000000
-Kd 0.498039 0.498039 0.498039
-Ks 1.000000 1.000000 1.000000
-Ke 0.000000 0.000000 0.000000
-Ni 1.450000
-d 1.000000
-illum 3
-map_Kd example_controller.png
diff --git a/driver/slimevr/resources/rendermodels/example_controller/example_controller.obj b/driver/slimevr/resources/rendermodels/example_controller/example_controller.obj
deleted file mode 100644
index 9d65a72a..00000000
--- a/driver/slimevr/resources/rendermodels/example_controller/example_controller.obj
+++ /dev/null
@@ -1,969 +0,0 @@
-# Blender v2.81 (sub 16) OBJ File: ''
-# www.blender.org
-mtllib example_controller.mtl
-usemtl Material_75
-v -0.032265 -0.032265 0.032265
-v -0.032265 0.032265 0.032265
-v -0.032265 0.032265 -0.032265
-v -0.032265 -0.032265 0.032265
-v -0.032265 0.032265 -0.032265
-v -0.032265 -0.032265 -0.032265
-v -0.032265 0.032265 -0.032265
-v 0.032265 0.032265 -0.032265
-v 0.016133 0.016133 -0.032265
-v -0.016133 0.016133 -0.032265
-v 0.032265 0.032265 0.032265
-v 0.032265 -0.032265 0.032265
-v 0.032265 -0.016133 0.016133
-v 0.032265 0.016133 0.016133
-v 0.032265 -0.032265 0.032265
-v 0.032265 0.032265 0.032265
-v -0.032265 0.032265 0.032265
-v -0.032265 -0.032265 0.032265
-v -0.032265 -0.032265 -0.032265
-v 0.032265 -0.032265 -0.032265
-v 0.032265 -0.032265 0.032265
-v -0.032265 -0.032265 0.032265
-v 0.032265 0.032265 -0.032265
-v -0.032265 0.032265 -0.032265
-v -0.016133 0.032265 -0.016133
-v 0.016133 0.032265 -0.016133
-v -0.016133 0.016133 -0.032265
-v 0.016133 0.016133 -0.032265
-v 0.028397 0.028398 -0.113590
-v -0.016133 0.016133 -0.032265
-v 0.028397 0.028398 -0.113590
-v -0.028398 0.028398 -0.113590
-v -0.032265 -0.032265 -0.032265
-v -0.016133 -0.016133 -0.032265
-v 0.032265 0.032265 -0.032265
-v 0.032265 -0.032265 -0.032265
-v 0.016133 -0.016133 -0.032265
-v 0.016133 0.016133 -0.032265
-v -0.032265 -0.032265 -0.032265
-v -0.016133 -0.016133 -0.032265
-v 0.032265 -0.016133 -0.016133
-v 0.032265 0.016133 -0.016133
-v 0.113590 0.028398 -0.028397
-v 0.032265 -0.016133 -0.016133
-v 0.113590 0.028398 -0.028397
-v 0.113590 -0.028397 -0.028398
-v 0.032265 -0.032265 0.032265
-v 0.032265 -0.032265 -0.032265
-v 0.032265 -0.016133 -0.016133
-v 0.032265 -0.016133 0.016133
-v 0.032265 0.032265 -0.032265
-v 0.032265 0.016133 -0.016133
-v 0.032265 0.032265 -0.032265
-v 0.032265 0.016133 -0.016133
-v -0.016133 0.032265 0.016133
-v 0.016133 0.032265 0.016133
-v 0.028397 0.113590 0.028398
-v -0.016133 0.032265 0.016133
-v 0.028397 0.113590 0.028398
-v -0.028398 0.113590 0.028398
-v 0.032265 0.032265 0.032265
-v 0.016133 0.032265 0.016133
-v -0.032265 0.032265 -0.032265
-v -0.032265 0.032265 0.032265
-v -0.016133 0.032265 0.016133
-v -0.016133 0.032265 -0.016133
-v 0.032265 0.032265 0.032265
-v 0.016133 0.032265 0.016133
-v 0.028397 0.113590 -0.028397
-v -0.028398 0.113590 -0.028397
-v -0.028398 0.113590 0.028398
-v 0.028397 0.113590 0.028398
-v 0.016133 0.032265 -0.016133
-v -0.016133 0.032265 -0.016133
-v -0.028398 0.113590 -0.028397
-v 0.016133 0.032265 -0.016133
-v -0.028398 0.113590 -0.028397
-v 0.028397 0.113590 -0.028397
-v 0.016133 0.032265 0.016133
-v 0.016133 0.032265 -0.016133
-v 0.028397 0.113590 -0.028397
-v 0.016133 0.032265 0.016133
-v 0.028397 0.113590 -0.028397
-v 0.028397 0.113590 0.028398
-v -0.016133 0.032265 -0.016133
-v -0.016133 0.032265 0.016133
-v -0.028398 0.113590 0.028398
-v -0.016133 0.032265 -0.016133
-v -0.028398 0.113590 0.028398
-v -0.028398 0.113590 -0.028397
-v 0.113590 -0.028397 -0.028398
-v 0.113590 0.028398 -0.028397
-v 0.113590 0.028397 0.028398
-v 0.113590 -0.028398 0.028397
-v 0.032265 0.016133 0.016133
-v 0.032265 -0.016133 0.016133
-v 0.113590 -0.028398 0.028397
-v 0.032265 0.016133 0.016133
-v 0.113590 -0.028398 0.028397
-v 0.113590 0.028397 0.028398
-v 0.032265 -0.016133 0.016133
-v 0.032265 -0.016133 -0.016133
-v 0.113590 -0.028397 -0.028398
-v 0.032265 -0.016133 0.016133
-v 0.113590 -0.028397 -0.028398
-v 0.113590 -0.028398 0.028397
-v 0.032265 0.016133 -0.016133
-v 0.032265 0.016133 0.016133
-v 0.113590 0.028397 0.028398
-v 0.032265 0.016133 -0.016133
-v 0.113590 0.028397 0.028398
-v 0.113590 0.028398 -0.028397
-v -0.028398 -0.028397 -0.113590
-v -0.028398 0.028398 -0.113590
-v 0.028397 0.028398 -0.113590
-v -0.028398 -0.028397 -0.113590
-v 0.028397 0.028398 -0.113590
-v 0.028397 -0.028397 -0.113590
-v -0.016133 -0.016133 -0.032265
-v -0.016133 0.016133 -0.032265
-v -0.028398 0.028398 -0.113590
-v -0.016133 -0.016133 -0.032265
-v -0.028398 0.028398 -0.113590
-v -0.028398 -0.028397 -0.113590
-v 0.016133 0.016133 -0.032265
-v 0.016133 -0.016133 -0.032265
-v 0.028397 -0.028397 -0.113590
-v 0.016133 0.016133 -0.032265
-v 0.028397 -0.028397 -0.113590
-v 0.028397 0.028398 -0.113590
-v 0.016133 -0.016133 -0.032265
-v -0.016133 -0.016133 -0.032265
-v -0.028398 -0.028397 -0.113590
-v 0.016133 -0.016133 -0.032265
-v -0.028398 -0.028397 -0.113590
-v 0.028397 -0.028397 -0.113590
-v -0.001752 0.002383 -0.121335
-v -0.014217 0.018198 -0.121335
-v -0.008403 0.018198 -0.121335
-v -0.001752 0.002383 -0.121335
-v -0.008403 0.018198 -0.121335
-v 0.000612 0.006620 -0.121335
-v 0.009727 0.018198 -0.121335
-v 0.015540 0.018198 -0.121335
-v 0.003076 0.002334 -0.121335
-v -0.001752 -0.015403 -0.121335
-v -0.001752 0.002383 -0.121335
-v 0.003076 0.002334 -0.121335
-v 0.003076 -0.015403 -0.121335
-v -0.001752 0.002383 -0.105327
-v -0.008403 0.018198 -0.105327
-v -0.014217 0.018198 -0.105327
-v 0.000612 0.006620 -0.105327
-v 0.000612 0.006620 -0.105327
-v 0.015540 0.018198 -0.105327
-v 0.009727 0.018198 -0.105327
-v 0.003076 0.002334 -0.105327
-v -0.001752 0.002383 -0.105327
-v -0.001752 -0.015403 -0.105327
-v 0.003076 0.002334 -0.105327
-v -0.001752 0.002383 -0.105327
-v -0.001752 -0.015403 -0.105327
-v 0.003076 -0.015403 -0.105327
-v 0.003076 0.002334 -0.105327
-v 0.003076 0.002334 -0.121335
-v 0.015540 0.018198 -0.121335
-v 0.015540 0.018198 -0.105327
-v 0.003076 0.002334 -0.105327
-v -0.001752 -0.015403 -0.121335
-v 0.003076 -0.015403 -0.121335
-v 0.003076 -0.015403 -0.105327
-v -0.001752 -0.015403 -0.105327
-v -0.014217 0.018198 -0.121335
-v -0.001752 0.002383 -0.121335
-v -0.001752 0.002383 -0.105327
-v -0.014217 0.018198 -0.105327
-v 0.015540 0.018198 -0.121335
-v 0.009727 0.018198 -0.121335
-v 0.009727 0.018198 -0.105327
-v 0.015540 0.018198 -0.121335
-v 0.009727 0.018198 -0.105327
-v 0.015540 0.018198 -0.105327
-v 0.003076 -0.015403 -0.121335
-v 0.003076 0.002334 -0.121335
-v 0.003076 0.002334 -0.105327
-v 0.003076 -0.015403 -0.121335
-v 0.003076 0.002334 -0.105327
-v 0.003076 -0.015403 -0.105327
-v 0.000612 0.006620 -0.121335
-v -0.008403 0.018198 -0.121335
-v -0.008403 0.018198 -0.105327
-v 0.000612 0.006620 -0.105327
-v -0.001752 0.002383 -0.121335
-v -0.001752 -0.015403 -0.121335
-v -0.001752 -0.015403 -0.105327
-v -0.001752 0.002383 -0.121335
-v -0.001752 -0.015403 -0.105327
-v -0.001752 0.002383 -0.105327
-v 0.009727 0.018198 -0.121335
-v 0.000612 0.006620 -0.121335
-v 0.000612 0.006620 -0.105327
-v 0.009727 0.018198 -0.121335
-v 0.000612 0.006620 -0.105327
-v 0.009727 0.018198 -0.105327
-v -0.008403 0.018198 -0.121335
-v -0.014217 0.018198 -0.121335
-v -0.014217 0.018198 -0.105327
-v -0.008403 0.018198 -0.121335
-v -0.014217 0.018198 -0.105327
-v -0.008403 0.018198 -0.105327
-v 0.121335 0.001989 -0.001398
-v 0.121335 0.018198 -0.014848
-v 0.121335 0.018198 -0.008985
-v 0.121335 0.005388 0.001558
-v 0.121335 0.018198 0.012052
-v 0.121335 0.018198 0.017866
-v 0.121335 0.005388 0.001558
-v 0.121335 0.018198 0.017866
-v 0.121335 0.001989 0.004465
-v 0.121335 0.001989 0.004465
-v 0.121335 -0.015403 -0.015882
-v 0.121335 -0.001509 0.001558
-v 0.121335 -0.001509 0.001558
-v 0.121335 -0.015403 0.018802
-v 0.121335 -0.015403 -0.010019
-v 0.121335 -0.015403 0.012988
-v 0.121335 -0.015403 0.018802
-v 0.104411 0.001989 -0.001398
-v 0.104411 0.018198 -0.008985
-v 0.104411 0.018198 -0.014848
-v 0.104411 0.005388 0.001558
-v 0.104411 0.005388 0.001558
-v 0.104411 0.018198 0.017866
-v 0.104411 0.018198 0.012052
-v 0.104411 0.001989 0.004465
-v 0.104411 0.018198 0.017866
-v 0.104411 -0.015403 -0.015882
-v 0.104411 -0.001509 0.001558
-v 0.104411 -0.015403 0.018802
-v 0.104411 -0.015403 -0.015882
-v 0.104411 -0.015403 -0.010019
-v 0.104411 -0.001509 0.001558
-v 0.104411 -0.015403 0.012988
-v 0.104411 -0.015403 0.018802
-v 0.121335 -0.015403 0.012988
-v 0.121335 -0.015403 0.018802
-v 0.104411 -0.015403 0.018802
-v 0.104411 -0.015403 0.012988
-v 0.121335 0.018198 -0.014848
-v 0.121335 0.001989 -0.001398
-v 0.104411 0.001989 -0.001398
-v 0.121335 0.018198 -0.014848
-v 0.104411 0.001989 -0.001398
-v 0.104411 0.018198 -0.014848
-v 0.121335 -0.015403 -0.015882
-v 0.121335 -0.015403 -0.010019
-v 0.104411 -0.015403 -0.010019
-v 0.104411 -0.015403 -0.015882
-v 0.121335 0.018198 0.017866
-v 0.121335 0.018198 0.012052
-v 0.104411 0.018198 0.012052
-v 0.104411 0.018198 0.017866
-v 0.121335 0.005388 0.001558
-v 0.121335 0.018198 -0.008985
-v 0.104411 0.018198 -0.008985
-v 0.121335 0.005388 0.001558
-v 0.104411 0.018198 -0.008985
-v 0.104411 0.005388 0.001558
-v 0.121335 0.001989 -0.001398
-v 0.121335 -0.015403 -0.015882
-v 0.104411 -0.015403 -0.015882
-v 0.121335 0.001989 -0.001398
-v 0.104411 -0.015403 -0.015882
-v 0.104411 0.001989 -0.001398
-v 0.121335 -0.015403 -0.010019
-v 0.121335 -0.001509 0.001558
-v 0.104411 -0.001509 0.001558
-v 0.121335 -0.015403 -0.010019
-v 0.104411 -0.001509 0.001558
-v 0.104411 -0.015403 -0.010019
-v 0.121335 0.018198 0.012052
-v 0.121335 0.005388 0.001558
-v 0.104411 0.005388 0.001558
-v 0.104411 0.018198 0.012052
-v 0.121335 -0.001509 0.001558
-v 0.121335 -0.015403 0.012988
-v 0.104411 -0.015403 0.012988
-v 0.104411 -0.001509 0.001558
-v 0.121335 0.018198 -0.008985
-v 0.121335 0.018198 -0.014848
-v 0.104411 0.018198 -0.014848
-v 0.104411 0.018198 -0.008985
-v 0.121335 0.001989 0.004465
-v 0.121335 0.018198 0.017866
-v 0.104411 0.018198 0.017866
-v 0.104411 0.001989 0.004465
-v 0.121335 -0.015403 0.018802
-v 0.121335 0.001989 0.004465
-v 0.104411 0.001989 0.004465
-v 0.104411 -0.015403 0.018802
-v -0.013862 0.121335 0.014442
-v -0.018198 0.121335 0.014442
-v -0.018198 0.121335 -0.014527
-v -0.013862 0.121335 0.014442
-v -0.018198 0.121335 -0.014527
-v -0.013862 0.121335 -0.005610
-v -0.013862 0.121335 -0.005610
-v -0.018198 0.121335 -0.014527
-v 0.011067 0.121335 0.006855
-v 0.015403 0.121335 0.015772
-v -0.013862 0.121335 -0.005610
-v 0.011067 0.121335 0.006855
-v 0.015403 0.121335 0.015772
-v 0.011067 0.121335 0.006855
-v 0.011067 0.121335 -0.014527
-v 0.015403 0.121335 0.015772
-v 0.011067 0.121335 -0.014527
-v 0.015403 0.121335 -0.014527
-v -0.013862 0.098929 0.014442
-v -0.018198 0.098929 -0.014527
-v -0.018198 0.098929 0.014442
-v -0.013862 0.098929 0.014442
-v -0.013862 0.098929 -0.005610
-v -0.018198 0.098929 -0.014527
-v -0.013862 0.098929 -0.005610
-v 0.011067 0.098929 0.006854
-v -0.018198 0.098929 -0.014527
-v 0.015403 0.098929 0.015772
-v 0.011067 0.098929 0.006854
-v -0.013862 0.098929 -0.005610
-v 0.015403 0.098929 0.015772
-v 0.011067 0.098929 -0.014527
-v 0.011067 0.098929 0.006854
-v 0.015403 0.098929 0.015772
-v 0.015403 0.098929 -0.014527
-v 0.011067 0.098929 -0.014527
-v -0.018198 0.121335 -0.014527
-v -0.018198 0.121335 0.014442
-v -0.018198 0.098929 0.014442
-v -0.018198 0.121335 -0.014527
-v -0.018198 0.098929 0.014442
-v -0.018198 0.098929 -0.014527
-v 0.015403 0.121335 0.015772
-v 0.015403 0.121335 -0.014527
-v 0.015403 0.098929 -0.014527
-v 0.015403 0.121335 0.015772
-v 0.015403 0.098929 -0.014527
-v 0.015403 0.098929 0.015772
-v -0.018198 0.121335 0.014442
-v -0.013862 0.121335 0.014442
-v -0.013862 0.098929 0.014442
-v -0.018198 0.121335 0.014442
-v -0.013862 0.098929 0.014442
-v -0.018198 0.098929 0.014442
-v -0.013862 0.121335 -0.005610
-v 0.015403 0.121335 0.015772
-v 0.015403 0.098929 0.015772
-v -0.013862 0.121335 -0.005610
-v 0.015403 0.098929 0.015772
-v -0.013862 0.098929 -0.005610
-v -0.013862 0.121335 0.014442
-v -0.013862 0.121335 -0.005610
-v -0.013862 0.098929 -0.005610
-v -0.013862 0.121335 0.014442
-v -0.013862 0.098929 -0.005610
-v -0.013862 0.098929 0.014442
-v 0.015403 0.121335 -0.014527
-v 0.011067 0.121335 -0.014527
-v 0.011067 0.098929 -0.014527
-v 0.015403 0.121335 -0.014527
-v 0.011067 0.098929 -0.014527
-v 0.015403 0.098929 -0.014527
-v 0.011067 0.121335 -0.014527
-v 0.011067 0.121335 0.006855
-v 0.011067 0.098929 0.006854
-v 0.011067 0.121335 -0.014527
-v 0.011067 0.098929 0.006854
-v 0.011067 0.098929 -0.014527
-v 0.011067 0.121335 0.006855
-v -0.018198 0.121335 -0.014527
-v -0.018198 0.098929 -0.014527
-v 0.011067 0.121335 0.006855
-v -0.018198 0.098929 -0.014527
-v 0.011067 0.098929 0.006854
-vt 0.877679 0.999989
-vt 0.704361 0.862110
-vt 0.623368 0.995214
-vt 0.549066 0.593772
-vt 0.632255 0.405504
-vt 0.427163 0.450286
-vt 0.590790 0.226030
-vt 0.503462 0.345266
-vt 0.575617 0.338540
-vt 0.634145 0.279193
-vt 0.701116 0.660331
-vt 0.935436 0.738186
-vt 0.886693 0.651541
-vt 0.824282 0.608270
-vt 0.935436 0.738186
-vt 0.701116 0.660331
-vt 0.704361 0.862110
-vt 0.877679 0.999989
-vt 0.427163 0.450286
-vt 0.264037 0.546895
-vt 0.357144 0.682415
-vt 0.549066 0.593772
-vt 0.503462 0.345266
-vt 0.590790 0.226030
-vt 0.517346 0.232950
-vt 0.465179 0.299295
-vt 0.634145 0.279193
-vt 0.575617 0.338540
-vt 0.811297 0.524319
-vt 0.634145 0.279193
-vt 0.811297 0.524319
-vt 0.815519 0.389933
-vt 0.730237 0.173993
-vt 0.711091 0.223332
-vt 0.134165 0.525760
-vt 0.264037 0.546895
-vt 0.257518 0.467648
-vt 0.170177 0.468780
-vt 0.427163 0.450286
-vt 0.343750 0.438493
-vt 0.221377 0.611101
-vt 0.148490 0.590709
-vt 0.028295 0.807064
-vt 0.221377 0.611101
-vt 0.028295 0.807064
-vt 0.123704 0.829921
-vt 0.357144 0.682415
-vt 0.264037 0.546895
-vt 0.221377 0.611101
-vt 0.281763 0.683253
-vt 0.770178 0.550866
-vt 0.792445 0.563409
-vt 0.134165 0.525760
-vt 0.148490 0.590709
-vt 0.637580 0.876969
-vt 0.644000 0.708063
-vt 0.442150 0.778258
-vt 0.637580 0.876969
-vt 0.442150 0.778258
-vt 0.412653 0.876915
-vt 0.355897 0.400451
-vt 0.390530 0.348321
-vt 0.623368 0.995214
-vt 0.704361 0.862110
-vt 0.637580 0.876969
-vt 0.598416 0.970365
-vt 0.701116 0.660331
-vt 0.644000 0.708063
-vt 0.277279 0.702623
-vt 0.301656 0.977486
-vt 0.412653 0.876915
-vt 0.442150 0.778258
-vt 0.465179 0.299295
-vt 0.517346 0.232950
-vt 0.338533 0.075582
-vt 0.465179 0.299295
-vt 0.338533 0.075582
-vt 0.261104 0.194327
-vt 0.390530 0.348321
-vt 0.465179 0.299295
-vt 0.261104 0.194327
-vt 0.644000 0.708063
-vt 0.277279 0.702623
-vt 0.442150 0.778258
-vt 0.598416 0.970365
-vt 0.637580 0.876969
-vt 0.412653 0.876915
-vt 0.598416 0.970365
-vt 0.412653 0.876915
-vt 0.301656 0.977486
-vt 0.123704 0.829921
-vt 0.028295 0.807064
-vt 0.000207 0.999902
-vt 0.179879 0.922875
-vt 0.824282 0.608270
-vt 0.886693 0.651541
-vt 0.999978 0.528948
-vt 0.824282 0.608270
-vt 0.999978 0.528948
-vt 0.955080 0.461952
-vt 0.281763 0.683253
-vt 0.221377 0.611101
-vt 0.123704 0.829921
-vt 0.281763 0.683253
-vt 0.123704 0.829921
-vt 0.179879 0.922875
-vt 0.792445 0.563409
-vt 0.824282 0.608270
-vt 0.955080 0.461952
-vt 0.792445 0.563409
-vt 0.955080 0.461952
-vt 0.922398 0.350776
-vt 0.923406 0.337617
-vt 0.815519 0.389933
-vt 0.811297 0.524319
-vt 0.296472 0.242822
-vt 0.016945 0.256359
-vt 0.190705 0.312874
-vt 0.711091 0.223332
-vt 0.634145 0.279193
-vt 0.815519 0.389933
-vt 0.711091 0.223332
-vt 0.815519 0.389933
-vt 0.923406 0.337617
-vt 0.170177 0.468780
-vt 0.257518 0.467648
-vt 0.190705 0.312874
-vt 0.170177 0.468780
-vt 0.190705 0.312874
-vt 0.016945 0.256359
-vt 0.257518 0.467648
-vt 0.343750 0.438493
-vt 0.296472 0.242822
-vt 0.257518 0.467648
-vt 0.296472 0.242822
-vt 0.190705 0.312874
-vt 0.164647 0.206490
-vt 0.137409 0.237522
-vt 0.148149 0.246926
-vt 0.879209 0.162218
-vt 0.899789 0.136235
-vt 0.866618 0.153517
-vt 0.833631 0.180137
-vt 0.834320 0.192690
-vt 0.873454 0.165845
-vt 0.630495 0.206194
-vt 0.664214 0.194627
-vt 0.663560 0.184439
-vt 0.626594 0.192788
-vt 0.837231 0.112168
-vt 0.876068 0.106100
-vt 0.884365 0.090995
-vt 0.841157 0.123918
-vt 0.665576 0.126268
-vt 0.701825 0.140263
-vt 0.706253 0.126675
-vt 0.660674 0.137415
-vt 0.651633 0.130906
-vt 0.114167 0.149049
-vt 0.100911 0.183177
-vt 0.110940 0.184971
-vt 0.947862 0.768248
-vt 0.959170 0.761371
-vt 0.952077 0.721815
-vt 0.663560 0.184439
-vt 0.728611 0.170526
-vt 0.701825 0.140263
-vt 0.660674 0.137415
-vt 0.993131 0.781178
-vt 0.997378 0.766008
-vt 0.959170 0.761371
-vt 0.947862 0.768248
-vt 0.137409 0.237522
-vt 0.164647 0.206490
-vt 0.110940 0.184971
-vt 0.100277 0.249077
-vt 0.834320 0.192690
-vt 0.833631 0.180137
-vt 0.803714 0.208463
-vt 0.728611 0.170526
-vt 0.706253 0.126675
-vt 0.701825 0.140263
-vt 0.626594 0.192788
-vt 0.663560 0.184439
-vt 0.660674 0.137415
-vt 0.997378 0.766008
-vt 0.952077 0.721815
-vt 0.959170 0.761371
-vt 0.866618 0.153517
-vt 0.899789 0.136235
-vt 0.876068 0.106100
-vt 0.841157 0.123918
-vt 0.987367 0.825299
-vt 0.993131 0.781178
-vt 0.947862 0.768248
-vt 0.164647 0.206490
-vt 0.114167 0.149049
-vt 0.110940 0.184971
-vt 0.833631 0.180137
-vt 0.866618 0.153517
-vt 0.841157 0.123918
-vt 0.706666 0.085370
-vt 0.665576 0.126268
-vt 0.706253 0.126675
-vt 0.148149 0.246926
-vt 0.137409 0.237522
-vt 0.100277 0.249077
-vt 0.899789 0.136235
-vt 0.884365 0.090995
-vt 0.876068 0.106100
-vt 0.901844 0.186326
-vt 0.849583 0.192142
-vt 0.847732 0.210709
-vt 0.877454 0.230132
-vt 0.836064 0.250561
-vt 0.809560 0.270587
-vt 0.607617 0.129696
-vt 0.614474 0.075690
-vt 0.597435 0.137391
-vt 0.893705 0.253191
-vt 0.946146 0.202975
-vt 0.903446 0.248533
-vt 0.608804 0.139682
-vt 0.621541 0.196470
-vt 0.946562 0.220339
-vt 0.947342 0.347581
-vt 0.947818 0.371736
-vt 0.534464 0.174384
-vt 0.482487 0.138172
-vt 0.475490 0.146348
-vt 0.538361 0.155457
-vt 0.819571 0.227383
-vt 0.765189 0.248073
-vt 0.798662 0.247500
-vt 0.551825 0.161264
-vt 0.573868 0.099577
-vt 0.522006 0.217440
-vt 0.547894 0.171843
-vt 0.588497 0.222780
-vt 0.999982 0.156817
-vt 0.984586 0.205234
-vt 0.981163 0.309426
-vt 0.975856 0.340212
-vt 0.993906 0.360793
-vt 0.947342 0.347581
-vt 0.947818 0.371736
-vt 0.993906 0.360793
-vt 0.975856 0.340212
-vt 0.849583 0.192142
-vt 0.901844 0.186326
-vt 0.913311 0.138870
-vt 0.441102 0.160191
-vt 0.534464 0.174384
-vt 0.475490 0.146348
-vt 0.946146 0.202975
-vt 0.946562 0.220339
-vt 0.984586 0.205234
-vt 0.999982 0.156817
-vt 0.809560 0.270587
-vt 0.836064 0.250561
-vt 0.798662 0.247500
-vt 0.765189 0.248073
-vt 0.877454 0.230132
-vt 0.847732 0.210709
-vt 0.799992 0.211497
-vt 0.877454 0.230132
-vt 0.799992 0.211497
-vt 0.819571 0.227383
-vt 0.901844 0.186326
-vt 0.946146 0.202975
-vt 0.999982 0.156817
-vt 0.901844 0.186326
-vt 0.999982 0.156817
-vt 0.913311 0.138870
-vt 0.946562 0.220339
-vt 0.903446 0.248533
-vt 0.981163 0.309426
-vt 0.946562 0.220339
-vt 0.981163 0.309426
-vt 0.984586 0.205234
-vt 0.836064 0.250561
-vt 0.877454 0.230132
-vt 0.819571 0.227383
-vt 0.798662 0.247500
-vt 0.903446 0.248533
-vt 0.947342 0.347581
-vt 0.975856 0.340212
-vt 0.981163 0.309426
-vt 0.431246 0.134617
-vt 0.441102 0.160191
-vt 0.475490 0.146348
-vt 0.482487 0.138172
-vt 0.597435 0.137391
-vt 0.614474 0.075690
-vt 0.573868 0.099577
-vt 0.551825 0.161264
-vt 0.621541 0.196470
-vt 0.597435 0.137391
-vt 0.551825 0.161264
-vt 0.588497 0.222780
-vt 0.025660 0.167277
-vt 0.019460 0.184500
-vt 0.085457 0.197038
-vt 0.025660 0.167277
-vt 0.085457 0.197038
-vt 0.070813 0.179118
-vt 0.244895 0.177499
-vt 0.271388 0.170697
-vt 0.200499 0.139389
-vt 0.182349 0.154977
-vt 0.244895 0.177499
-vt 0.200499 0.139389
-vt 0.182349 0.154977
-vt 0.200499 0.139389
-vt 0.172554 0.101012
-vt 0.950882 0.695534
-vt 0.997250 0.630519
-vt 0.985549 0.630401
-vt 0.968010 0.702894
-vt 0.995974 0.639378
-vt 0.953135 0.699966
-vt 0.968010 0.702894
-vt 0.998149 0.664236
-vt 0.995974 0.639378
-vt 0.294567 0.089810
-vt 0.232375 0.081405
-vt 0.303833 0.115587
-vt 0.172240 0.213102
-vt 0.181083 0.238508
-vt 0.257933 0.241733
-vt 0.180450 0.981100
-vt 0.109542 0.971169
-vt 0.153568 0.987533
-vt 0.180450 0.981100
-vt 0.111298 0.956400
-vt 0.109542 0.971169
-vt 0.085457 0.197038
-vt 0.019460 0.184500
-vt 0.016441 0.244366
-vt 0.085457 0.197038
-vt 0.016441 0.244366
-vt 0.092094 0.249976
-vt 0.950882 0.695534
-vt 0.985549 0.630401
-vt 0.947422 0.591836
-vt 0.184488 0.927119
-vt 0.111298 0.956400
-vt 0.180450 0.981100
-vt 0.985162 0.748387
-vt 0.999011 0.739548
-vt 0.968010 0.702894
-vt 0.985162 0.748387
-vt 0.968010 0.702894
-vt 0.953135 0.699966
-vt 0.244895 0.177499
-vt 0.182349 0.154977
-vt 0.172240 0.213102
-vt 0.244895 0.177499
-vt 0.172240 0.213102
-vt 0.257933 0.241733
-vt 0.025660 0.167277
-vt 0.070813 0.179118
-vt 0.070774 0.128416
-vt 0.999011 0.739548
-vt 0.998149 0.664236
-vt 0.968010 0.702894
-vt 0.985549 0.630401
-vt 0.997250 0.630519
-vt 0.959294 0.584016
-vt 0.985549 0.630401
-vt 0.959294 0.584016
-vt 0.947422 0.591836
-vt 0.172554 0.101012
-vt 0.200499 0.139389
-vt 0.232375 0.081405
-vt 0.997250 0.630519
-vt 0.999791 0.545216
-vt 0.959294 0.584016
-vt 0.200499 0.139389
-vt 0.271388 0.170697
-vt 0.303833 0.115587
-vt 0.200499 0.139389
-vt 0.303833 0.115587
-vt 0.232375 0.081405
-vn -1.0000 0.0000 0.0000
-vn 0.0000 0.0000 -1.0000
-vn 1.0000 -0.0000 0.0000
-vn 0.0000 -0.0000 1.0000
-vn 0.0000 -1.0000 -0.0000
-vn -0.0000 1.0000 0.0000
-vn 0.0000 0.9888 0.1491
-vn -0.1491 0.0000 -0.9888
-vn 0.0000 -0.1491 0.9888
-vn 0.0000 -0.1491 -0.9888
-vn 0.9888 -0.1491 0.0000
-vn -0.9888 -0.1491 0.0000
-vn -0.1491 -0.0000 0.9888
-vn -0.1491 -0.9888 -0.0000
-vn -0.1491 0.9888 0.0000
-vn -0.9888 0.0000 0.1491
-vn 0.9888 0.0000 0.1491
-vn 0.0000 -0.9888 0.1491
-vn 0.7863 -0.6178 -0.0000
-vn -0.7854 -0.6190 -0.0000
-vn 0.7890 0.6144 0.0000
-vn -0.7857 0.6186 0.0000
-vn 0.0000 -0.6386 -0.7696
-vn 0.0000 0.6355 0.7721
-vn 0.0000 0.6400 -0.7684
-vn 0.0000 -0.6402 0.7682
-vn 0.0000 0.6337 -0.7736
-vn 0.0000 -0.6353 -0.7722
-vn 0.0000 -0.6372 0.7707
-vn 0.0000 0.6361 0.7716
-vn 0.5899 0.0000 -0.8074
-vn -0.5899 0.0000 0.8074
-s 1
-f 1/1/1 2/2/1 3/3/1
-f 4/4/1 5/5/1 6/6/1
-f 7/7/2 8/8/2 9/9/2
-f 7/7/2 9/9/2 10/10/2
-f 11/11/3 12/12/3 13/13/3
-f 11/11/3 13/13/3 14/14/3
-f 15/15/4 16/16/4 17/17/4
-f 15/15/4 17/17/4 18/18/4
-f 19/19/5 20/20/5 21/21/5
-f 19/19/5 21/21/5 22/22/5
-f 23/23/6 24/24/6 25/25/6
-f 23/23/6 25/25/6 26/26/6
-f 27/27/7 28/28/7 29/29/7
-f 30/30/7 31/31/7 32/32/7
-f 33/33/2 7/7/2 10/10/2
-f 33/33/2 10/10/2 34/34/2
-f 35/35/2 36/36/2 37/37/2
-f 35/35/2 37/37/2 38/38/2
-f 36/36/2 39/39/2 40/40/2
-f 36/36/2 40/40/2 37/37/2
-f 41/41/8 42/42/8 43/43/8
-f 44/44/8 45/45/8 46/46/8
-f 47/47/3 48/48/3 49/49/3
-f 47/47/3 49/49/3 50/50/3
-f 51/51/3 11/11/3 14/14/3
-f 51/51/3 14/14/3 52/52/3
-f 48/48/3 53/53/3 54/54/3
-f 48/48/3 54/54/3 49/49/3
-f 55/55/9 56/56/9 57/57/9
-f 58/58/9 59/59/9 60/60/9
-f 61/61/6 23/23/6 26/26/6
-f 61/61/6 26/26/6 62/62/6
-f 63/63/6 64/64/6 65/65/6
-f 63/63/6 65/65/6 66/66/6
-f 64/64/6 67/67/6 68/68/6
-f 64/64/6 68/68/6 65/65/6
-f 69/69/6 70/70/6 71/71/6
-f 69/69/6 71/71/6 72/72/6
-f 73/73/10 74/74/10 75/75/10
-f 76/76/10 77/77/10 78/78/10
-f 79/79/11 80/80/11 81/81/11
-f 82/82/11 83/83/11 84/84/11
-f 85/85/12 86/86/12 87/87/12
-f 88/88/12 89/89/12 90/90/12
-f 91/91/3 92/92/3 93/93/3
-f 91/91/3 93/93/3 94/94/3
-f 95/95/13 96/96/13 97/97/13
-f 98/98/13 99/99/13 100/100/13
-f 101/101/14 102/102/14 103/103/14
-f 104/104/14 105/105/14 106/106/14
-f 107/107/15 108/108/15 109/109/15
-f 110/110/15 111/111/15 112/112/15
-f 113/113/2 114/114/2 115/115/2
-f 116/116/2 117/117/2 118/118/2
-f 119/119/16 120/120/16 121/121/16
-f 122/122/16 123/123/16 124/124/16
-f 125/125/17 126/126/17 127/127/17
-f 128/128/17 129/129/17 130/130/17
-f 131/131/18 132/132/18 133/133/18
-f 134/134/18 135/135/18 136/136/18
-f 137/137/2 138/138/2 139/139/2
-f 140/140/2 141/141/2 142/142/2
-f 142/142/2 143/143/2 144/144/2
-f 142/142/2 144/144/2 145/145/2
-f 140/140/2 142/142/2 145/145/2
-f 146/146/2 147/147/2 148/148/2
-f 146/146/2 148/148/2 149/149/2
-f 150/150/4 151/151/4 152/152/4
-f 150/150/4 153/153/4 151/151/4
-f 154/154/4 155/155/4 156/156/4
-f 154/154/4 157/157/4 155/155/4
-f 158/158/4 157/157/4 154/154/4
-f 159/159/4 160/160/4 161/161/4
-f 162/162/4 163/163/4 164/164/4
-f 165/165/19 166/166/19 167/167/19
-f 165/165/19 167/167/19 168/168/19
-f 169/169/5 170/170/5 171/171/5
-f 169/169/5 171/171/5 172/172/5
-f 173/173/20 174/174/20 175/175/20
-f 173/173/20 175/175/20 176/176/20
-f 177/177/6 178/178/6 179/179/6
-f 180/180/6 181/181/6 182/182/6
-f 183/183/3 184/184/3 185/185/3
-f 186/186/3 187/187/3 188/188/3
-f 189/189/21 190/190/21 191/191/21
-f 189/189/21 191/191/21 192/192/21
-f 193/193/1 194/194/1 195/195/1
-f 196/196/1 197/197/1 198/198/1
-f 199/199/22 200/200/22 201/201/22
-f 202/202/22 203/203/22 204/204/22
-f 205/205/6 206/206/6 207/207/6
-f 208/208/6 209/209/6 210/210/6
-f 211/211/3 212/212/3 213/213/3
-f 211/211/3 213/213/3 214/214/3
-f 214/214/3 215/215/3 216/216/3
-f 217/217/3 218/218/3 219/219/3
-f 211/211/3 214/214/3 220/220/3
-f 221/221/3 211/211/3 220/220/3
-f 221/221/3 220/220/3 222/222/3
-f 223/223/3 219/219/3 224/224/3
-f 221/221/3 222/222/3 225/225/3
-f 226/226/3 222/222/3 227/227/3
-f 228/228/1 229/229/1 230/230/1
-f 228/228/1 231/231/1 229/229/1
-f 232/232/1 233/233/1 234/234/1
-f 231/231/1 235/235/1 236/236/1
-f 228/228/1 235/235/1 231/231/1
-f 237/237/1 235/235/1 228/228/1
-f 237/237/1 238/238/1 235/235/1
-f 238/238/1 239/239/1 235/235/1
-f 240/240/1 241/241/1 242/242/1
-f 243/243/1 244/244/1 242/242/1
-f 245/245/5 246/246/5 247/247/5
-f 245/245/5 247/247/5 248/248/5
-f 249/249/23 250/250/23 251/251/23
-f 252/252/23 253/253/23 254/254/23
-f 255/255/5 256/256/5 257/257/5
-f 255/255/5 257/257/5 258/258/5
-f 259/259/6 260/260/6 261/261/6
-f 259/259/6 261/261/6 262/262/6
-f 263/263/24 264/264/24 265/265/24
-f 266/266/24 267/267/24 268/268/24
-f 269/269/25 270/270/25 271/271/25
-f 272/272/25 273/273/25 274/274/25
-f 275/275/26 276/276/26 277/277/26
-f 278/278/26 279/279/26 280/280/26
-f 281/281/27 282/282/27 283/283/27
-f 281/281/27 283/283/27 284/284/27
-f 285/285/28 286/286/28 287/287/28
-f 285/285/28 287/287/28 288/288/28
-f 289/289/6 290/290/6 291/291/6
-f 289/289/6 291/291/6 292/292/6
-f 293/293/29 294/294/29 295/295/29
-f 293/293/29 295/295/29 296/296/29
-f 297/297/30 298/298/30 299/299/30
-f 297/297/30 299/299/30 300/300/30
-f 301/301/5 302/302/5 303/303/5
-f 304/304/5 305/305/5 306/306/5
-f 307/307/5 308/308/5 309/309/5
-f 310/310/5 311/311/5 312/312/5
-f 313/313/5 314/314/5 315/315/5
-f 316/316/5 317/317/5 318/318/5
-f 319/319/6 320/320/6 321/321/6
-f 322/322/6 323/323/6 324/324/6
-f 325/325/6 326/326/6 327/327/6
-f 328/328/6 329/329/6 330/330/6
-f 331/331/6 332/332/6 333/333/6
-f 334/334/6 335/335/6 336/336/6
-f 337/337/3 338/338/3 339/339/3
-f 340/340/3 341/341/3 342/342/3
-f 343/343/1 344/344/1 345/345/1
-f 346/346/1 347/347/1 348/348/1
-f 349/349/2 350/350/2 351/351/2
-f 352/352/2 353/353/2 354/354/2
-f 355/355/31 356/356/31 357/357/31
-f 358/358/31 359/359/31 360/360/31
-f 361/361/1 362/362/1 363/363/1
-f 364/364/1 365/365/1 366/366/1
-f 367/367/4 368/368/4 369/369/4
-f 370/370/4 371/371/4 372/372/4
-f 373/373/3 374/374/3 375/375/3
-f 376/376/3 377/377/3 378/378/3
-f 379/379/32 380/380/32 381/381/32
-f 382/382/32 383/383/32 384/384/32
diff --git a/driver/slimevr/resources/rendermodels/example_controller/example_controller.png b/driver/slimevr/resources/rendermodels/example_controller/example_controller.png
deleted file mode 100644
index 2128b089..00000000
Binary files a/driver/slimevr/resources/rendermodels/example_controller/example_controller.png and /dev/null differ
diff --git a/src/TrackerDevice.cpp b/src/TrackerDevice.cpp
index 0f7852ee..0d997454 100644
--- a/src/TrackerDevice.cpp
+++ b/src/TrackerDevice.cpp
@@ -172,11 +172,9 @@ vr::EVRInitError SlimeVRDriver::TrackerDevice::Activate(uint32_t unObjectId) {
GetDriver()->GetProperties()->SetStringProperty(props, vr::Prop_NamedIconPathDeviceStandby_String, "{slimevr}/icons/tracker_status_standby.png");
GetDriver()->GetProperties()->SetStringProperty(props, vr::Prop_NamedIconPathDeviceAlertLow_String, "{slimevr}/icons/tracker_status_ready_low.png");
- // Automatically select vive tracker roles and set hints for games that need it (Beat Saber avatar mod, for example)
- auto role_hint = GetViveRoleHint(tracker_role_);
- if (role_hint != "") {
- GetDriver()->GetProperties()->SetStringProperty(props, vr::Prop_ControllerType_String, role_hint.c_str());
- }
+ GetDriver()->GetProperties()->SetStringProperty(props, vr::Prop_InputProfilePath_String, "{slimevr}/input/slimevr_tracker_profile.json");
+
+ GetDriver()->GetProperties()->SetStringProperty(props, vr::Prop_ControllerType_String, "slimevr_tracker");
auto role = GetViveRole(tracker_role_);
if (role != "") {