From 30e51ba57a04c9e300752ee6988cf8ee97f68bdc Mon Sep 17 00:00:00 2001 From: Michael Mainguy Date: Fri, 7 Nov 2025 11:31:13 -0600 Subject: [PATCH] Add local controller profiles and disable online repository MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add profilesList.json with all XR controller profiles for offline use - Disable online controller repository in ControllerDebug for faster loading - Includes profiles for Meta Quest, Valve Index, HTC Vive, Pico, and others 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- public/immersive/profilesList.json | 129 +++++++++++++++++++++++++++++ src/controllerDebug.ts | 3 + 2 files changed, 132 insertions(+) create mode 100644 public/immersive/profilesList.json diff --git a/public/immersive/profilesList.json b/public/immersive/profilesList.json new file mode 100644 index 0000000..560ea3c --- /dev/null +++ b/public/immersive/profilesList.json @@ -0,0 +1,129 @@ +{ + "generic-button": { + "path": "generic-button/profile.json" + }, + "generic-fixed-hand": { + "path": "generic-fixed-hand/profile.json" + }, + "generic-hand": { + "path": "generic-hand/profile.json" + }, + "generic-touchpad": { + "path": "generic-touchpad/profile.json" + }, + "generic-trigger-squeeze-thumbstick": { + "path": "generic-trigger-squeeze-thumbstick/profile.json" + }, + "generic-trigger-squeeze-touchpad-thumbstick": { + "path": "generic-trigger-squeeze-touchpad-thumbstick/profile.json" + }, + "generic-trigger-squeeze-touchpad": { + "path": "generic-trigger-squeeze-touchpad/profile.json" + }, + "generic-trigger-squeeze": { + "path": "generic-trigger-squeeze/profile.json" + }, + "generic-trigger-thumbstick": { + "path": "generic-trigger-thumbstick/profile.json" + }, + "generic-trigger-touchpad-thumbstick": { + "path": "generic-trigger-touchpad-thumbstick/profile.json" + }, + "generic-trigger-touchpad": { + "path": "generic-trigger-touchpad/profile.json" + }, + "generic-trigger": { + "path": "generic-trigger/profile.json" + }, + "google-daydream": { + "path": "google-daydream/profile.json" + }, + "hp-mixed-reality": { + "path": "hp-mixed-reality/profile.json" + }, + "htc-vive-cosmos": { + "path": "htc-vive-cosmos/profile.json" + }, + "htc-vive-focus-3": { + "path": "htc-vive-focus-3/profile.json" + }, + "htc-vive-focus-plus": { + "path": "htc-vive-focus-plus/profile.json" + }, + "htc-vive-focus": { + "path": "htc-vive-focus/profile.json" + }, + "htc-vive": { + "path": "htc-vive/profile.json" + }, + "logitech-mx-ink": { + "path": "logitech-mx-ink/profile.json" + }, + "magicleap-one": { + "path": "magicleap-one/profile.json" + }, + "magicleap-two": { + "path": "magicleap-two/profile.json" + }, + "meta-quest-touch-plus-v2": { + "path": "meta-quest-touch-plus-v2/profile.json" + }, + "meta-quest-touch-plus": { + "path": "meta-quest-touch-plus/profile.json" + }, + "meta-quest-touch-pro": { + "path": "meta-quest-touch-pro/profile.json" + }, + "microsoft-mixed-reality": { + "path": "microsoft-mixed-reality/profile.json" + }, + "windows-mixed-reality": { + "path": "microsoft-mixed-reality/profile.json", + "deprecated": true + }, + "oculus-go": { + "path": "oculus-go/profile.json" + }, + "oculus-touch-v2": { + "path": "oculus-touch-v2/profile.json" + }, + "oculus-touch-v3": { + "path": "oculus-touch-v3/profile.json" + }, + "oculus-touch": { + "path": "oculus-touch/profile.json" + }, + "pico-4": { + "path": "pico-4/profile.json" + }, + "pico-4u": { + "path": "pico-4u/profile.json" + }, + "pico-g2": { + "path": "pico-g2/profile.json" + }, + "pico-neo2": { + "path": "pico-neo2/profile.json" + }, + "pico-neo3": { + "path": "pico-neo3/profile.json" + }, + "samsung-galaxyxr": { + "path": "samsung-galaxyxr/profile.json" + }, + "samsung-gearvr": { + "path": "samsung-gearvr/profile.json" + }, + "samsung-odyssey": { + "path": "samsung-odyssey/profile.json" + }, + "valve-index": { + "path": "valve-index/profile.json" + }, + "yvr-touch-v2": { + "path": "yvr-touch-v2/profile.json" + }, + "yvr-touch": { + "path": "yvr-touch/profile.json" + } +} diff --git a/src/controllerDebug.ts b/src/controllerDebug.ts index 5141859..bbb124a 100644 --- a/src/controllerDebug.ts +++ b/src/controllerDebug.ts @@ -47,6 +47,9 @@ export class ControllerDebug { const xr = await this.scene.createDefaultXRExperienceAsync( { disablePointerSelection: true, disableTeleportation: true, + inputOptions: { + disableOnlineControllerRepository: true + }, disableDefaultUI: false, // Enable UI for this test disableHandTracking: true });