Develop

Progressive Web Apps

Updated: Jul 22, 2026

Overview

Packaging a web app as a Progressive Web App (PWA) is an optional way to distribute it through the Meta Horizon Store. A web app can remain available through its website without a PWA package.
PWA packaging applies to both the 2D and 3D web paths. It is a distribution option, not a separate content category.
Choose 2D app mode for a windowed site, including screen-based 3D. Choose immersive app mode only when the packaged app launches into an immersive WebXR session.

How PWA packaging works

Bubblewrap⁠ creates an Android project from your hosted Web App Manifest⁠. The generated project opens your web content through a Trusted Web Activity⁠.
The manifest provides the web app’s start URL, scope, icons, and other standard metadata. Meta Quest-specific project settings are added when you initialize the package with the Meta Quest Bubblewrap option.
After installing Bubblewrap, initialize a Meta Quest project with the public URL of your manifest:
bubblewrap init --manifest=https://example.com/manifest.webmanifest --metaquest

Get started

Use the following guides to prepare and package your web app:
For in-app purchases in an immersive package, see In-app purchases in WebXR PWAs. For submission guidance, see Distribute.