Skip to content

Junior37534/QuestBridge

Repository files navigation

QuestBridge Logo

QuestBridge

Play Minecraft Java Edition on Meta Quest 3, 3S, or 2 — standalone, with native controllers. No PC. No streaming. No phone.

License: MIT Release Platform: Meta Quest 3 / 3S / 2

If you searched for any of these, you're in the right place:

  • How to play Minecraft Java Edition on Quest 3 without a PC
  • Minecraft Java standalone on Meta Quest 3 / 3S / 2
  • Use Quest controllers natively in Minecraft on Android
  • Minecraft on Quest 3 with native controller support
  • Play Minecraft Java flat panel on Meta Quest headset
  • Minecraft Java Edition Quest standalone no PC required
  • Meta Quest 3 Minecraft controller input mod

QuestBridge is a Minecraft client-side Fabric mod that lets you play Minecraft Java Edition entirely on your Meta Quest headset — no PC, no streaming, no latency from a remote connection. It runs the game natively on the headset via Amethyst-Android, and bridges your Quest controllers to the game using a local WebXR page and a low-latency WebSocket server.

The result: a flat 2D Minecraft panel floating in your mixed reality space, fully playable with your Quest 3 controllers, standalone.

Note

Developed and tested specifically for Minecraft 26.1.2 (Fabric, running inside Amethyst-Android). Compatibility with other versions is not guaranteed.


quest_demo_video_compressed.mp4


Features

  • Truly Standalone: Minecraft Java Edition running natively on Quest 3, 3S, or 2 — zero PC connection required.
  • Native Quest Controller Input: WebXR captures your controller inputs and forwards them to the game over a high-speed local WebSocket (port 7374).
  • Immersive Environments: Switch between native MR Passthrough, solid color backgrounds, custom 360° Skyboxes, and a procedural 3D Space scene with dynamic stars and shooting stars.
  • Controller Haptics: In-game feedback (breaking blocks, taking damage, eating) sent back to your controllers, with adjustable intensity.
  • Persistent Settings: Environment and haptic preferences are saved across sessions using IndexedDB and LocalStorage.

Requirements

  • Meta Quest 3 (tested) | Quest 3S & Quest 2 (supported)
  • Developer Mode enabled on the headset — see the Official Meta Developer Guide
  • Seamless Multitasking enabled:
    1. Open Quest Settings
    2. Navigate to Experimental
    3. Toggle Seamless MultitaskingON

Important

Without Seamless Multitasking, the browser tab running the input bridge will freeze or terminate when Minecraft comes into focus.

Enable Seamless Multitasking in Quest Settings

  • Disable Gestures in Amethyst (recommended):

    1. Launch Amethyst-Android
    2. Go to Settings → Control Customizations

    Disable Gestures in Amethyst

  • Amethyst-Android — the Minecraft Java launcher for Android/Quest

  • Controlify and Fabric API installed in your mods folder


Installation

  1. Install Amethyst-Android: Sideload the Amethyst APK onto your Quest via SideQuest or ADB.
  2. Launch Vanilla Once: Open Amethyst, log in, and start vanilla Minecraft. Once the main menu loads, exit.
  3. Create a Fabric Profile: Inside Amethyst, create a new Fabric profile.
  4. Open the Game Directory:
    • Select your Fabric profile and tap Open Game Directory.
    • This opens the Android file explorer in your active game folder.
    • Tip: If no files appear, tap the three dots (top-right) and select Show Hidden Files.
  5. Install the Mods:
    • Open the mods folder (create it if it doesn't exist).
    • Drop questbridge-x.y.z.jar, Controlify, and Fabric API into it.

Usage

QuestBridge Web UI — Environment selector and Haptic Intensity slider

  1. Launch Minecraft: Open Amethyst and boot with your Fabric profile.
  2. Open the Quest Browser: Navigate to:

    http://localhost:7373

  3. Pick an Environment: Choose your background (e.g., Pass for Mixed Reality Passthrough, ✦ Space for the 3D cosmos scene).
  4. Enter VR:
    • Tap Enter VR.
    • Accept the immersive session permission prompt.
  5. Position the Minecraft Window:
    • Press the Meta button on the right controller to open your Quest app panel.
    • Drag the Minecraft window into a comfortable position in your space.

Note

While playing, keep your controller pointer beams aimed slightly away from the Minecraft panel. Pointing directly at the window shifts system focus to it, which pauses the input bridge.

Pointing directly at the panel is still useful for navigating inventories, menus, and settings.

Minecraft Java running inside an immersive 360 environment on Quest

Minecraft Java panel in mixed reality passthrough on Quest 3


Amethyst Custom Control Layout (Recommended)

This repository includes a custom control map preset for Amethyst that makes standalone play much smoother — mapping shortcuts for the ESC menu, T for chat, and other keyboard-dependent actions to controller buttons.

How to Import

  1. Download questbridge_cmap.json and copy it to your Quest's internal storage.
  2. Open Amethyst-Android on your Quest.
  3. Go to Settings → Control Customizations.

Step: Click Edit Custom Controls in Amethyst

  1. Tap Edit Custom Controls.

Step: Click the Gear icon

  1. Tap the Gear icon at the top-center.
  2. Tap Load and select questbridge_cmap.json.

Step: Load questbridge_cmap.json file


Troubleshooting

Issue Likely Cause Fix
Inputs not registering Seamless Multitasking is off Enable Seamless Multitasking in Quest Settings → Experimental
Controllers disconnecting Focus shifted to Minecraft panel Don't aim your pointer beam directly at the Minecraft window while playing
Page not loading Mod not running or port conflict Make sure Minecraft has fully loaded, then navigate to http://localhost:7373
Passthrough is black Wrong session type initialized Select the Pass card before pressing Enter VR
No haptic feedback Intensity at 0% Raise the Haptic Intensity slider on the Web UI

How It Works

When Minecraft loads, QuestBridge starts a local HTTP server (port 7373) serving a WebXR page, and a WebSocket server (port 7374) to receive controller data. You open the page in the Quest Browser, enter an immersive session, and the page captures your controller inputs via the WebXR Gamepad API, forwarding them over WebSocket to the mod. The mod then feeds those inputs into Controlify, which Minecraft sees as a standard gamepad.

Haptic feedback works in reverse: the mod detects in-game events and sends haptic commands back through the WebSocket to the browser, which triggers vibration via the WebXR Haptic Actuator API.


Contributing

Contributions are welcome. If you want to improve the WebGL environment, optimize WebSocket packets, or refine controller mappings, feel free to open a Pull Request. For major changes, open an issue first to discuss.


License

This project is licensed under the MIT License — see the LICENSE file for details.

About

Play Minecraft Java Edition on Meta Quest 3/2 standalone with native controllers — no PC needed

Topics

Resources

License

Stars

Watchers

Forks

Contributors