Host your web experience
Updated: Sep 23, 2026
After you build a WebXR or 2D web experience for Meta Quest, host it at a publicly accessible URL. Meta Quest Browser loads the experience from that URL, the same way any browser loads a website.
This page covers what a host has to provide, names two options, then walks through one deployment with Vercel.
- Serve the site over HTTPS from a publicly accessible origin.
- Serve the static files that your build produces.
Web Launch accepts HTTPS targets, so an HTTPS origin also lets you send the experience to a headset.
Any host that meets the requirements works. For example:
- GitHub Pages publishes the static build from a repository, using a GitHub Actions workflow.
- Vercel deploys from the command line and creates the project on the first deploy. The rest of this page walks through it.
Vercel serves the site from the domain root, so keep Vite’s default base of "/". You do not need to set base for a root deployment.
If instead you serve the site from a subdirectory, set base to that explicit path so static assets resolve correctly:
// vite.config.js
export default { base: "/subpath/" };
Confirm which account the Vercel CLI is signed in to:
Deploy to production in the current scope:
npx vercel@latest deploy --prod --yes
To deploy under a team instead of your current scope, list your teams and pass the team slug with --scope:
npx vercel@latest teams ls
npx vercel@latest deploy --prod --yes --scope <team-slug>
--yes creates the project and links it without prompting. Vercel detects Vite, runs vite build, and serves dist/. Vite copies the public/ directory into dist/. Run the same command again to publish a later change.
Use the production domain or alias that Vercel prints when the deploy finishes, such as https://<project>.vercel.app. Share that URL wherever your public URL is required.
If Deployment Protection is enabled for the project, some generated per-deploy URLs require authentication and return
401. Verify that the URL you share returns
200 without authentication, as shown in
Verify the deployment.
Confirm that the site root returns 200:
curl -s -o /dev/null -w "%{http_code}\n" https://<DOMAIN>/
Open the URL in Meta Quest Browser and test the experience. Use
remote debugging to inspect the page from your development computer.