While Unity's WebGL support for mobile is currently 'experimental', we've found it's possible to build great AR experiences with Unity and deploy to the web.
Unity's built-in WebGL template does not render the player window in fullscreen by default. The Zappar library provides an alternative template that shows a simple loading bar while the Unity content is loading, and fills the full browser window. You can use this template by navigating to the Resolution and Presentation section in the Player Settings menu and selecting the Zappar template.
For Unity 2019 and older versions, use the Zappar 2019 template. For Unity 2020 and above, use the Zappar template.
When deploying to WebGL you'll want to run the publish command / upload the ZIP folder within the folder that's generated by Unity - it should contain an
If you are using the ZapWorks CLI to serve your files, you will find that it does not send a
Content-Encoding header for Unity's gzip/br files. Therefore, it is highly recommended that you go to
Publishing Settings and enable
Decompression Fallback in Unity2020 or above, or disable
WebAssembly Streaming in Unity 2019.
Alternatively, you can also go into the project's
Publishing Settings and set the
Compression Format to be
Note that you can also make use of menu option
Zappar > Editor > Update Project Settings To Publishto make these specific changes around setting WebGL-Template and compression settings, though you should always double check to confirm.
For a more detailed step-by-step on how to build and publish to WebGL, head over to our Publishing article.