Ultimate Web View - Web Browser for UI, 3D Screens & UI Toolkit
HyTeKGames
$27.49
$54.99
50%OFF
(no ratings)
Jump AssetStore
Put real web pages in your game: on UI, on 3D surfaces, in UI Toolkit. A web browser with input, on-screen keyboard, JavaScript bridge and 3D sound. Windows, Linux, Android, iOS, WebGL.Unity 2020.3 LTS to Unity 7 alpha. Built-in, URP and HDRP. Windows x64 and Linux x64, Editor and builds: Chromium 156, included. Android 6.0+ and iOS 13+: the web view of the device. macOS 11+ (preview): WKWebView. WebGL: an iframe over the canvas. No H.264/AAC video on Windows and Linux. The engine adds about 335 MB to a Windows build and 305 MB to a Linux build.Put real web pages in your game: on UI, on 3D surfaces, in UI Toolkit.Ultimate Web View is a web browser for Unity. On Windows and Linux it ships Chromium 156 and draws pages into a texture, so a page can sit on a monitor in your scene, in a uGUI canvas or in a UI Toolkit layout. Players click, scroll and type in it, its sound comes from where the screen is, and its JavaScript talks to your C# code. On Android, iOS and macOS the same API drives the web view of the system, and in WebGL builds an iframe over the canvas.How it worksAdd: choose GameObject > Ultimate Web View > Web View Screen for a mesh, or Web View Image for uGUI.Point: type an address into the component, or load HTML from a string or from StreamingAssets.Play: the page shows on your object. Click links, scroll, click a text field and type.Key featuresThree ways to show a page. WebViewScreen for any mesh, WebViewImage for uGUI, WebViewElement for UI Toolkit at run time and in editor windows. Or create a WebView from code and put its texture wherever you want.Real input. Mouse, touch, wheel, drag, hover and double click reach the page. A pointer component aims at 3D screens with the mouse, a crosshair, an XR controller ray or a gamepad-driven cursor. The physical keyboard types into the focused page, with the legacy Input Manager or the Input System.On-screen keyboard. QWERTY, AZERTY and QWERTZ layouts with accents, a symbols page and a numeric pad. It docks to the bottom of the screen or sits as a panel in the 3D scene for VR, and shows itself when a text field takes focus.C# and JavaScript talk. Pages call uwv.postMessage() and your script receives the message. Your script posts messages back, runs JavaScript, or evaluates an expression and gets the result as JSON, with callbacks or async/await.Sound in your mix. On Windows and Linux the sound of a page plays through an AudioSource: 3D position, volume, mixer groups and effects work as for any other sound.HTML as game UI. Pages with a transparent background show the scene behind them. Load HTML from a string or from StreamingAssets and use it as a HUD or a menu, without a web server.Browser events are yours. Popups, JavaScript dialogs, downloads, load errors, console messages and crashes arrive as C# events with safe defaults. Nothing opens a window on the player's desktop.Cookies and storage. A persistent profile per game, an API to set, read and delete cookies and to clear the cache, and incognito web views.Works in the Editor. Web views run in edit mode and in play mode. A Browser window is included, WebViewElement works in your own editor windows, and entering play mode without a domain reload is supported.Developer tools. Open the Chromium DevTools for any page on Windows and Linux, or send the page console to the Unity Console.Isolated and sandboxed engine. On Windows and Linux the browser runs in its own process. A page that crashes doesn't take your game down, and the engine restarts and reloads the open pages. On Windows the processes that handle page content run inside the Chromium sandbox, and local pages can't read other local files unless you allow it.No setup. No dependency on other packages, no scripting defines, no manual build step. Settings live in Project Settings > Ultimate Web View.PlatformsWindows x64, Linux x64, and the Editor on both: Chromium 156, shipped with your build. Pages as textures, sound through Unity audio, DevTools.Android: the Android System WebView, as a texture (Android 6.0 and newer) or as a native view over the game.iOS: WKWebView, as a native view over the game, or as a texture for mostly still pages (about 10 to 30 frames per second, no video).WebGL: an iframe placed over the canvas. Overlay only, and only for sites that allow being embedded.macOS (preview): WKWebView on macOS 11 or newer, Intel and Apple Silicon, in builds and in the Editor. It works like iOS: as a texture for mostly still pages, or as a native view over the game.Know before you buyWindows and Linux use the standard Chromium build without licensed codecs. WebM, VP9, AV1, Opus, Ogg and MP3 play. MP4 with H.264 or AAC doesn't, and neither does DRM video.The desktop engine adds about 335 MB (Windows) or 305 MB (Linux) to the project and to desktop builds. Mobile, macOS and WebGL builds don't contain it.The desktop engine runs in a helper process. The package contains that program for Windows and Linux under the file name UltimateWebViewHost.uwv; the build step gives it its real name. It is not code-signed.On Android, iOS and WebGL, page sound plays through the system or the browser, not through Unity audio.WebGL: the page is always on top of the canvas and can't be drawn on 3D objects. Pages from other origins can't be scripted, and sites that forbid framing don't load.iOS and macOS texture mode simulates input with JavaScript, which some sites reject, and can't show video. The native overlay has neither limit, but is always on top of the game.The documentation has a chapter per platform with the complete list of limits.Who it's forGames and applications that show web content: in-game browsers and computer screens, help pages, news and patch notes, web-based menus and HUDs, dashboards, kiosks, simulations and VR interfaces.Also includedFour demo scenes that work in the Built-in pipeline, URP and HDRP: a uGUI browser, a room to walk around in with a computer and a TV you can use (with 3D sound and the on-screen keyboard), an HTML HUD and a UI Toolkit layout.Full C# source code, and the source of the Android, iOS and WebGL plugins. The macOS plugin is a universal library built from the iOS source.Offline documentation with quick start recipes, a chapter per platform, troubleshooting and the full scripting reference.CompatibilityUnity 2020.3 LTS to Unity 7 alpha.Built-in Render Pipeline, URP and HDRP.Mono and IL2CPP. Legacy Input Manager and Input System.Windows 10 or newer (x64), Linux (x64), Android 6.0 or newer, iOS 13 or newer, macOS 11 or newer (preview), WebGL.Runtime UI Toolkit features (WebViewElement in a UIDocument, the keyboard in world mode) need Unity 2021.2 or newer.Third-party softwareAsset uses Chromium Embedded Framework under BSD 3-Clause; see Third-Party Notices.txt file in package for details.Asset uses Chromium under BSD 3-Clause, with the components it bundles under their own licences (BSD, MIT, Apache 2.0, MPL 2.0, LGPL and others); see Third-Party Notices.txt file in package for details.Asset uses FFmpeg (inside Chromium, without licensed codecs) under LGPL 2.1; see Third-Party Notices.txt file in package for details.Asset uses V8 under BSD 3-Clause; see Third-Party Notices.txt file in package for details.Asset uses ICU under Unicode License; see Third-Party Notices.txt file in package for details.Asset uses SwiftShader under Apache 2.0; see Third-Party Notices.txt file in package for details.Asset uses Vulkan Loader under Apache 2.0; see Third-Party Notices.txt file in package for details.Asset uses the Direct3D shader compiler (d3dcompiler_47.dll) under Microsoft redistributable terms; see Third-Party Notices.txt file in package for details.These components are the browser engine for Windows and Linux. The LGPL code is inside a separate dynamic library that only the helper process loads, and you can replace that library with your own build. Windows and Linux builds must ship the two licence files from the package's Licenses folder. Android, iOS and WebGL builds contain none of these components.SupportFor a question, a page that doesn't behave the way you expect, or a feature idea, get in touch. Discord is the fastest way to reach me:Email: assetstore@hytekgames.netDiscord: discord.gg/teabRhGZYG (username: iamtek)If the package is useful to you, a review on the Asset Store helps a lot. Thank you!The complete documentation is available here.If there's a feature you'd really like implemented or supported, please reach out to us on Discord, We are really looking forward improving our asset.DisplayWebViewScreen: page on any mesh, with an unlit screen shader for Built-in, URP and HDRP, or on your own material.WebViewImage: page in a uGUI RawImage, input through the EventSystem, screen-space and world-space canvases.WebViewElement: page as a UI Toolkit element, in UXML or C#, at run time and in editor windows.WebView class: a browser with a Texture, for full control from code.Transparent pages, frame rate limit (1 to 60), pixel density, zoom, optional mip maps.Textures up to 8192 pixels on desktop and 4096 on Android.InputPointer: move, three buttons, double and triple click, wheel, drag, hover, cursor shapes.WebViewPointer for 3D screens: mouse, screen centre, transform ray (XR controllers) and virtual cursor (locked mouse, gamepad) modes.Hardware keyboard with the legacy Input Manager or the Input System, national layouts and AltGr.Key, text and editing commands from code: KeyDown, SendKey, TypeText, Copy, Paste, SelectAll, Undo.System keyboard on Android and iOS for text fields of texture web views, when no On-Screen Keyboard component is in the scene.On-screen keyboardQWERTY (English US), AZERTY (French) and QWERTZ (German), with Shift, AltGr, accent keys, a symbols page and a numeric pad.Overlay mode docked to the bottom of the screen, world mode as a panel in the scene (Unity 2021.2 or newer).Shows and hides with text field focus. Dark and light theme, restyled through USS.KeyboardElement: the same keyboard as a UI Toolkit control for your own UI.ScriptingNamespace HyTeKGames.UltimateWebView, with assembly definitions.Navigation, history, load progress, title and address events, LoadHtml, extra request headers.ExecuteJavaScript, EvaluateJavaScript with JSON results (callback or Task), startup scripts.Messages in both directions through window.uwv.Events for popups, alert, confirm and prompt dialogs, downloads, load errors, console messages and crashes.WebViewData: set, read and delete cookies, clear cookies, cache and stored data.streaming-assets:// addresses that load StreamingAssets files on every platform.AudioWindows and Linux: page sound through a Unity AudioSource, 2D by default, 3D with the WebViewAudio component.Mute per web view.Engine on Windows and LinuxChromium 156.0.8078.88 through the Chromium Embedded Framework, off-screen rendering in a helper process.Frames and sound reach Unity through shared memory. Works with every graphics API.Optional hardware acceleration for WebGL and video pages.Windows: page content runs inside the Chromium sandbox (on by default). Local file access between pages is off by default.DevTools window, remote debugging port, extra Chromium switches, custom user agent.Persistent profile in the game's persistent data folder, temporary profile for a second instance.Automatic restart and page reload after an engine crash.The build step copies the engine to _Data/UltimateWebView.EditorWeb views in edit mode and play mode, with or without domain reload.Browser window, Welcome window with a step by step guide, settings page in Project Settings (home page and search address included).GameObject menu entries for every component.Build steps for Windows, Linux, Android (manifest entries) and iOS (usage description check).PackageFull C# source code. Android (Java), iOS (Objective-C++) and WebGL (.jslib) plugins as source, macOS plugin as a universal library.Four demo scenes for Built-in, URP and HDRP.Offline HTML documentation with the full scripting reference.No dependency on other packages.Unity 2020.3 LTS to Unity 7 alpha.LimitationsmacOS is a preview: it has the limits of iOS (texture mode for mostly still pages, simulated input, no Unity audio), and overlays are placed in builds only. 32-bit Windows and ARM Windows or Linux builds are not supported.Windows and Linux: no H.264, AAC or DRM video. At most 60 frames per second. The engine adds about 335 MB (Windows) or 305 MB (Linux). On Linux it runs without the Chromium sandbox.Android: sound doesn't go through Unity audio. Touch and left button only. No file chooser, fullscreen video, WebXR or geolocation. Native popups such as select lists don't show in texture mode. One cookie store per app. Texture capture needs Android 6.0; Android 5 runs a reduced software path.iOS: texture mode runs at about 10 to 30 frames per second, can't show video, and simulates input with JavaScript (no hover, no drag and drop, no IME composition; some sites reject it). Sound doesn't go through Unity audio. Use the native overlay for video.WebGL: overlay only, always on top of the canvas. Sites that forbid framing don't load. Pages from other origins can't be scripted; they can exchange messages through window.postMessage. No cookie API.Native overlays (Android, iOS, WebGL) are always above everything Unity draws and don't work in VR.File choosers are never opened, and downloads are reported but not saved.AI has been used to enhance the Asset Store page & improve the documentation and technical details. My IDE also uses AI autocompletion.


