There are two different versions of 3D WebView for Android, which use different browser engines:
- 3D WebView for Android: uses Android's built-in System WebView as its browser engine.
- 3D WebView for Android with Gecko Engine: embeds Mozilla's Gecko browser engine. Specifically, it uses GeckoView, the library that powers FireFox for Android.
Summary: The original 3D WebView for Android package is recommended by default because its native library size is smaller, it supports Native 2D Mode, and there are fewer edge cases compared to embedding Gecko (described here). But if you encounter an issue related to the System WebView, we can switch your license to 3D WebView for Android with Gecko Engine. Or you can use both Android packages together if you want to. A more detailed comparison of the two versions is provided below.
3D WebView for Android
3D WebView for Android uses Android's built-in System WebView as its browser engine.
Pros:
- Has a small storage footprint (< 2 MB), because the browser engine is built into the operating system instead of the library.
- Supports Native 2D Mode.
- Supports the native on-screen keyboard.
- Supports transparent webviews.
- On devices with the Google Play Store, the System WebView is automatically kept up-to-date with the latest version of Chromium.
- On Meta Quest, the System WebView is now updated regularly by Meta. Quest 2+ headsets currently use Chromium v130.
Cons:
- Since the System WebView package is part of the operating system, it can vary from device to device:
- On some devices that don't use Google Play (e.g. some VR headsets like Pico and Vive Focus), the System WebView may be stuck on an older version of Chromium, which can impact 3D WebView's functionality. For example, some sites may not work correctly if they use newer JavaScript features that aren't present in the old version of Chromium.
- Some device vendors modify the System WebView, which can introduce bugs that impact 3D WebView's functionality.
Note: 3D WebView for Android used to be incapable of playing native video and WebGL on VR headsets, but that limitation was fixed in v3.14.
3D WebView for Android with Gecko Engine
3D WebView for Android with Gecko Engine embeds Mozilla's Gecko browser engine via the GeckoView library.
Pros:
- On devices where the System WebView is stuck on an old version of Chromium (e.g. some VR headsets like Pico and Vive Focus), some sites may work better in Gecko because it uses a more recent browser engine.
- Since the Gecko browser engine is embedded as part of the 3D WebView library:
- It's less prone to issues due to variations in Android devices.
- It's not prone to issues due to the browser engine automatically being updated by the system.
Cons:
- 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.
- Doesn't support Native 2D Mode.
- Doesn't support the native on-screen keyboard.
- Doesn't support transparent webviews.
- Gecko has a handful of bugs and edge cases that developers sometimes encounter:
- Bug that sometimes causes app audio to cut out on Meta Quest.
- The Meta Avatars SDK sometimes causes Gecko to crash on Meta Quest.
- "Split Application Binary" needs to be enabled to if the APK is large.
- Gecko sometimes crashes if "Development Build" is enabled.