Getting Started with WebGL Development
Building and Running a WebGL Project

WebGL Browser Compatibility

Unity WebGL supports all major desktop browsers to some degree (8). However, the level of support and the expected performance varies between different browsers. Look at the feature matrix below to give you an overview of browser features of interest to Unity WebGL content, and which browsers support them.

Note that Unity WebGL content is not currently supported on mobile devices. It may still work, especially on high-end devices, but many current devices are not powerful enough and don’t have enough memory to support Unity WebGL content well. For this reason, Unity WebGL will show a warning message when trying to load content on mobile browsers (which can be disabled if needed).

Note that this compatibility matrix is valid for the specific versions of the browsers as stated. Browsers develop quickly, so a lot of this is likely to change in future browser versions.

Desktop browser compatibility matrix
Mozilla Firefox 41 Google Chrome 46 Apple Safari 9.0 MS Internet Explorer 11 MS Edge 12
WebGL Support ability to run Unity WebGL content X (1) X (1) X (Safari 8 and higher) X (IE 11 and higher) X
Web Audio The Web Audio API is required to play sound in Unity WebGL content. X X X - X
Fullscreen support X X - (2) X X
Cursor Locking support X X - - - (3)
Gamepad support X X - - X
IndexedDB Required for local storage as used by the Data Caching feature, the PlayerPrefs class, and WWW.LoadFromCacheOrDownload. X (4) X X (4) X X
WebSockets Required for Networking. X X X X X
WebRTC Required by the WebCamTexture class. X X - - X
WebGL 2.0 - (5) - - - -
asm.js AOT compilation asm.js is a susbset of JavaScript for which a browser can specifically optimize. Browsers which implement asm.js support may be able to run Unity WebGL content faster, as Unity uses asm.js. X - - - - (6)
Notes (7) (8)

Footnotes:

  1. GPU blacklists apply. WebGL may be unsupported for specific older graphics cards. Details available here and here.
  2. Safari supports the HTML5 Fullscreen API, but no keyboard input when in fullscreen mode, so Unity will disable fullscreen functionality when running in Safari.
  3. Edge does not support cursor locking yet, but this is expected to change in Edge 13.
  4. Firefox up to version 42 and Safari will not support IndexedDB for content running in an iFrame. Firefox 43 and higher will fix this.
  5. Firefox supports WebGL 2.0, but it is disabled by default and needs to be enabled in about:config.
  6. Edge supports asm.js, but it is currently experimental and disabled by default, and needs to be enabled in about:flags.
  7. Chrome may need a large amount of memory to parse the generated JavaScript code, which can cause out-of-memory errors or crashes when loading content on 32-bit browsers. See here for more information on memory usage.
  8. Internet Explorer does not support audio and is too slow to support most Unity WebGL content with decent results. For this reason, we will show a warning about using an unsupported browser when opening content in Internet Explorer. It is only listed in this compatibility table for completeness. You should advise IE users to update to Microsoft’s new Edge browser.
Getting Started with WebGL Development
Building and Running a WebGL Project