There are two different versions of 3D WebView for Android, which use different browser engines:
- 3D WebView for Android uses Android's built-in android.webkit.WebView package as its browser engine.
- 3D WebView for Android with Gecko Engine embeds Mozilla's Gecko Browser Engine, which provides significantly better support for video, WebGL, and mouse interactions on VR headsets.
The original 3D WebView for Android package is recommended for normal Android development because its native library size is smaller. However, if you're developing for a VR headset like Oculus Quest, then 3D WebView for Android with Gecko Engine is recommended instead. Or if you prefer, you can use both versions together in order to get the best of both worlds. A more detailed comparison of the two versions is provided below.
- Uses Android's built-in android.webkit.WebView package as its browser engine.
- Has a small storage footprint (< 2 MB), because the browser engine is built into the operating system instead of the library.
- Supports native video and WebGL on normal Android devices.
- Supports transparent webviews.
- Limitations on VR headsets:
- Limited video support (regular HTML5 video tags and videos on popular sites like YouTube, Vimeo, and Facebook work, but some 3rd-party JS video widgets do not function as expected). For more info, please see this article.
- No WebGL support.
- On Oculus Quest, hover interactions aren't supported and click interactions sometimes don't work as well. This is because
- Uses Mozilla's GeckoView library as its browser engine.
- Has a larger storage footprint because the browser engine is embedded in the library instead of the operating system. The GeckoView library adds ~50 MB to the size of the app's APK and ~164 MB to the size of the Unity project.
- Supports native video and WebGL, even on VR headsets.
- Mouse events and hovering work well, even on Oculus Quest.
- Doesn't support transparent webviews.