webxr-dev

Guide WebXR development for Meta Quest headsets using Three.js.

Updated Mar 9, 2026
One-click install
npx skills add https://github.com/acidsound/acidnet_front --skill webxr-dev
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: webxr-dev
Source: https://github.com/acidsound/acidnet_front/tree/main/handsoff
Command: npx skills add https://github.com/acidsound/acidnet_front --skill webxr-dev

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill provides essential guidance and best practices for developing WebXR (VR/AR) experiences, specifically targeting Meta Quest headsets, to overcome common development hurdles.

Core Features & Use Cases

  • Session Management: Understand immersive-vr vs immersive-ar and proper session setup.
  • Rendering Optimization: Learn how to achieve native framebuffer resolution and handle shaders correctly.
  • Interaction Design: Implement locomotion, UI panels, and controller/hand interactions.
  • Use Case: You're building a VR application for the Quest and need to ensure smooth performance, intuitive controls, and correct rendering of 3D environments and UI elements.

Quick Start

Use the webxr-dev skill to learn how to set up an immersive-vr session with hand tracking and local floor support.

Frequently Asked Questions about webxr-dev

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up an immersive-vr session for Meta Quest using Three.js?

To set up an immersive-vr session for Meta Quest using Three.js, you need to initialize the XR session with local-floor support and configure the camera rig architecture. This ensures proper tracking, hand interactions, and rendering within the VR environment.

What is the difference between immersive-vr and immersive-ar session modes in WebXR?

In WebXR, immersive-vr replaces the real world with a virtual environment, while immersive-ar overlays virtual 3D objects onto the user's physical surroundings. Choosing the right mode depends on whether your Meta Quest app needs full virtual immersion or spatial augmented reality.

How do I achieve native framebuffer resolution when building a WebXR application?

Achieving native framebuffer resolution in WebXR requires configuring the WebGL renderer to match the Meta Quest headset's exact display parameters. Proper handling of shaders and avoiding post-processing incompatibilities are also critical to maintain optimal visual fidelity and performance.

Why does geometry inversion happen in WebXR and how do I fix it?

Geometry inversion in WebXR typically occurs due to incorrect coordinate space handling or mismatched camera rig transformations. Fixing it involves aligning your Three.js scene's coordinate space with the WebXR tracking references and validating your local floor setup.

What's the best way to implement locomotion and UI panels in a Meta Quest VR app?

The best way to implement locomotion and UI panels in a Meta Quest VR app is by using a dedicated camera rig architecture for movement and attaching UI panels to the controllers or view space. This approach ensures intuitive interactions and comfortable user navigation.

Does post-processing work with WebXR on Meta Quest?

Post-processing often encounters incompatibilities with WebXR on Meta Quest due to stereo rendering pipeline conflicts and native framebuffer resolution constraints. You should carefully validate your shader considerations and test performance impacts when applying post-processing effects.