Easily display and interact with web content in 3D or 2D using the web browser plugin trusted by over 1000 developers. See the
developer site for full documentation.
🌐 Load a webpage from a URL or HTML string
📺 Watch videos and YouTube
<> Create UIs with HTML
⚡️ Get started fast with the 3D WebViewPrefab or
2D CanvasWebViewPrefab, which render to a
Texture2D and handle user interactions
📱 Includes a Native 2D Mode optimized for
mobile
⌨️ Type with the included on-screen keyboard or native
keyboard
• C# source code for a unified API that works seamlessly
across Windows, macOS, Android, iOS, visionOS, WebGL, and UWP (each platform sold separately)
• Comprehensive APIs for controlling the
browser and listening to browser events
• Powered by the Android System WebView and
WKWebView
• Execute JavaScript
• Send messages from
JavaScript to C# and vice versa
• View and create PDFs
• Integrate with OAuth
• Includes additional APIs for platform-specific features (Android, iOS)
• Supports transparent pages
Examples
• 3D WebView's included demo scenes:
◦ SimpleWebViewDemo
◦ CanvasWebViewDemo
◦ AdvancedWebViewDemo
◦ CanvasWorldSpaceDemo
• Meta Quest example
• XR Interaction Toolkit example
• AR Foundation example
System requirements
• Unity 2018.3 or newer
• Android 5+ (armv7, arm64, x86, x64), supports both OpenGL and Vulkan graphics
• iOS 10+, supports both Metal and OpenGL graphics
• Supports both Mono and IL2CPP
• Adds < 3 MB to the app's size
Important notes and limitations
• This package only supports Android and iOS. To support other platforms, you can install additional 3D WebView
packages, and you can save money on multiple packages
by buying a bundle. All of the 3D WebView packages work
seamlessly together, so all you need to do is install them into the same project, and then 3D WebView automatically
detects and uses the correct plugin at runtime and build time.
• 3D WebView's native Android and iOS plugins are provided as precompiled libraries, and the native source code for
them
is not provided.
• 3D WebView's native Android and iOS plugins can't run in the editor, so a mock webview implementation is used by default while
running in the editor. However, you can actually load and render real web content in the editor by also installing 3D WebView for Windows and macOS into the project. You
can save money by buying both packages together in a bundle.
• When not running in Native 2D Mode, the Android
package has the following limitations:
◦ Vulkan support requires the VK_ANDROID_external_memory_android_hardware_buffer Vulkan
extension and Unity 2020.2 or
newer. For more details, please see this page.
◦ Scrollbars aren't rendered.
◦ Some HTML5 widget popups (like date picker inputs) aren't rendered. For more details, please
see this page.
• When not running in Native 2D Mode, the iOS
package has the following limitations:
◦ Some 3rd-party JS video widgets don't function as expected. Also, on YouTube, the video resolution is 360p (640 x 360 pixels) and cannot be changed. For more details, please see this article.
◦ The web rendering frame rate is relatively slow (<15 FPS) due to iOS limitations. The
exception to this is video, which is rendered at a high frame rate.
◦ Support for hover and drag interactions has limitations.
◦ WebGL content isn't rendered.
◦ Scrollbars aren't rendered.
◦ Some HTML5 widget popups (like date picker inputs) aren't rendered. For more details, please
see this page.
• On Android, the browser engine can play multiple videos simultaneously within the same webview, but it's unable to play videos in multiple webviews simultaneously. If a video is played in a webview, it will pause videos playing in other webviews (Android System WebView limitation).
• Also supports running in the iOS simulator.
• The Android and iOS plugins embed PDF.js from Mozilla, so you must display a copy of its included Apache 2.0
license
in your
Android and iOS apps' about page or credits.