QuestBridge is a Minecraft client-side Fabric mod that bridges Meta Quest 3 controllers directly to Minecraft Java Edition running natively on the headset. It hosts a local WebXR webpage that captures controller inputs and sends them to the running game instance via a low-latency WebSocket server, enabling a console-like immersive experience entirely standalone without a PC.
Note
This mod was developed specifically for Minecraft 26.1.2 (Fabric, running inside Amethyst-Android) and has only been tested on this version. Compatibility with other versions is not tested or guaranteed.
quest_demo_video_compressed.mp4
- Standalone VR/MR Support: Play Minecraft Java Edition directly on the headset (Quest 3, 3S, or 2) with zero PC connection required.
- Low-Latency Controller Mapping: WebXR-based controller capture forwarded over a high-speed local WebSocket (port 7374).
- Premium Immersive Environments: Smooth switching between native MR Passthrough, solid backgrounds, custom 360° Skyboxes, and a high-fidelity procedural 3D Space background with dynamic stars and shooting stars.
- Integrated Controller Haptics: Native in-game action feedback (breaking blocks, taking damage, eating) transmitted back to controllers with customizable intensity.
- Persistent Settings: Saves environment preferences and haptic options across sessions using IndexedDB and LocalStorage.
Ensure all of the following requirements are met before starting:
- Meta Quest 3 (Tested) | Quest 3S & 2 (Supported).
- Developer Mode Enabled on the headset. Refer to the Official Meta Developer Guide for setup steps.
- "Seamless Multitasking" enabled on the headset:
- Open Quest Settings.
- Navigate to Experimental.
- Toggle Seamless Multitasking to ON.
Important
Without Seamless Multitasking enabled, the browser background will freeze or terminate when Minecraft comes into focus.
-
"Disable Gestures" in Amethyst (Optional)
- Launch Amethyst-Android on the Quest.
- Navigate to Settings -> Control Customizations.
-
Amethyst-Android launcher installed.
-
Controlify and Fabric API installed in your mods folder.
- Install Amethyst-Android: Install the Amethyst APK on your MetaQuest by opening the APK file (or via SideQuest or ADB).
- Launch Vanilla Once: Open Amethyst, log in, and start vanilla Minecraft. Once the main menu loads, exit the game.
- Configure Fabric Profile: Inside Amethyst, create a new Fabric profile.
- Access the Game Directory:
- Inside the Amethyst-Android app, select your Fabric profile and click Open Game Directory.
- This launches the system's native Android file explorer directly in the active game directory.
- Tip: If no files or folders appear, click the three dots in the top right-hand corner of the file explorer and select Show Hidden Files.
- Install Mods:
- Locate the
modsdirectory inside the opened folder (create it if it doesn't exist). - Place the downloaded
questbridge-x.y.z.jarinto this directory alongside Controlify and the Fabric API.
- Locate the
- Launch Minecraft: Open Amethyst and boot the game using your configured Fabric profile.
- Launch Quest Browser: Open the native Meta Quest Browser and navigate to:
- Select Environment: Pick your preferred theme on the Web UI (e.g., Pass for Mixed Reality Passthrough, ✦ Space for the custom 3D cosmos background).
- Enter VR:
- Click the Enter VR button on the page.
- The browser will ask for immersive permissions. Accept them.
- Position Minecraft:
- Press the Meta button on the right controller to bring up your Quest 2D app panel.
- Drag the Minecraft window into a comfortable 3D space in front of you.
Note
While playing, keep your controller pointer beams aimed slightly away or downwards from the 2D Minecraft window. Pointing the Quest beam directly at the Minecraft window shifts system focus to it, which pauses the background browser's input bridge.
Aiming directly at the window remains useful when navigating inventories, game menus, settings.
To make standalone play much easier (such as opening the ESC menu or virtual keyboard T for chat without a physical keyboard), you can import the custom QuestBridge control map preset provided in this repository.
- Download or copy the questbridge_cmap.json file.
- Place it on your Quest headset's internal storage inside the Amethyst custom controls import folder.
- Open Amethyst-Android on your Quest headset.
- Navigate to Settings -> Control Customizations.
- Select Edit Custom Controls.
- Click the Gear icon located at the top-center of the screen.
- Click Load and select
questbridge_cmap.json.
| Issue | Potential Cause | Resolution |
|---|---|---|
| Inputs not registering | Seamless Multitasking is disabled | Ensure Seamless Multitasking is turned ON in the Quest Experimental settings. |
| Controllers disconnected | Focus shift | Confirm that you are not pointing the controllers directly at the Minecraft panel. |
| Page not loading | Server port conflict or mod not running | Verify Minecraft has fully loaded Amethyst and ensure the browser is pointed to http://localhost:7373. |
| Passthrough mode is black | Permission block or session type issue | Ensure you selected the Pass card before pressing Enter VR so that the system correctly initializes an immersive-ar session. |
| Haptics missing | Intensity set to 0% | Adjust the Haptic Intensity slider to a value greater than 0% on the Web UI. |
Contributions are welcome! If you want to improve the WebGL environment rendering, optimize WebSocket packets, or refine gamepad remappings, feel free to open a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
This project is licensed under the MIT License - see the LICENSE file for details.







