UniWebView UniWebView
01 / Tool

Web view for Unity.

Native iOS + Android. Drop in OAuth, HTML5 video, live-ops pages, and in-game stores — without bundling a second browser engine.

Three lines of C#. Two platforms.

UniWebViewExample.cs C#
var webView = gameObject.AddComponent<UniWebView>();
webView.Load("https://example.com");
webView.Show();

See more UniWebView features in the video →

First Released
November 1, 2013
Platforms
iOS · Android
Targets
Unity 2021.3 LTS +
02 / Why

A mature tool, not a wrapper around a wrapper.

Three reasons UniWebView has stayed the default in-game web view for more than a decade.

  1. 01 native

    Native, not an embedded browser.

    UniWebView calls iOS WKWebView and Android WebView directly. Performance, compatibility, and the network stack match the system browser. No bundled Chromium, no app-size bloat, no third-party engine to keep updated alongside the platforms.

  2. 02 one api

    One API, both platforms.

    Behaviour is consistent across iOS and Android. Write the C# once; platform differences are handled inside the plugin. The API surface is small enough to fit on a single page — by design.

  3. 03 shipping since 2013

    A decade-plus of real-world iteration.

    Across every Unity engine bump, every iOS and Android API change, every WebKit rewrite — UniWebView followed each one. Still actively maintained, by the same author.

03 / Use cases

What developers actually build with UniWebView.

Five scenarios that cover most in-game web view work. Drop them in, ship the same day.

01 ╱ OAuth · Sign in

Built-in flows for Google, Facebook, Discord, and more.

UniWebView ships authentication-flow helpers for the major providers. Configure the client ID once on the inspector component, call StartAuthenticationFlow(), and you get a typed token back through standard Unity events — no redirect-URL plumbing of your own.

Read the docs
GoogleSignIn.cs C#
using UnityEngine;

public class GoogleSignIn : MonoBehaviour {
    void Start() {
        var flow = GetComponent<UniWebViewAuthenticationFlowGoogle>();
        flow.StartAuthenticationFlow();
    }

    public void OnGoogleTokenReceived(UniWebViewAuthenticationGoogleToken token) {
        Debug.Log("Access token: " + token.AccessToken);
    }

    public void OnGoogleAuthError(long errorCode, string errorMessage) {
        Debug.LogError("Auth failed: " + errorCode + " " + errorMessage);
    }
}
02 ╱ Live ops · Channel messaging

CMS-driven pages that talk back, in typed C#.

Run your live-ops page on the web and let it call into Unity through the channel messaging system: typed payloads via message.GetData<T>(), structured responses back to the page, and one named action per event — no string-parsing in C#.

Read the docs
LiveOpsPage.cs C#
webView.OnChannelMessageReceived += (view, message) => {
    if (message.action == "claimReward") {
        var reward = message.GetData<RewardPayload>();
        Game.Inventory.Add(reward.itemId, reward.amount);
        message.Respond(new { success = true, balance = Game.Balance });
    }
    return null;
};
webView.Load("https://promo.example.com/event");
webView.Show();
03 ╱ Scripting · Unity drives the page

Call JavaScript from Unity, get the result back.

Once the page finishes loading, push player state, swap a banner, or fire an animation by running arbitrary JavaScript with EvaluateJavaScript(...). The completion handler returns the JS expression result, so the round-trip stays in C#.

Read the docs
PageDriver.cs C#
webView.OnPageFinished += (view, statusCode, url) => {
    var json = JsonUtility.ToJson(Game.Player);
    webView.EvaluateJavaScript($"hydrate({json});", payload => {
        if (payload.resultCode == "0") {
            Debug.Log("Page returned: " + payload.data);
        }
    });
};
webView.Load("https://promo.example.com/welcome");
webView.Show();
04 ╱ Media · HTML5 video

Cinematics and trailers with one Load() call.

Inline or fullscreen, autoplay or gated, YouTube / Vimeo / your own CDN — UniWebView speaks the same HTML5 video that Safari and Chrome do.

Read the docs
Cinematic.cs C#
var theatre = gameObject.AddComponent<UniWebView>();
theatre.SetAllowAutoPlay(true);
theatre.SetAllowInlinePlay(true);
theatre.Load("https://cdn.example.com/cinematic.html");
theatre.Show();
05 ╱ Safe Browsing · System browser

For pages that need WebRTC, system cookies, or autofill.

Some pages can only run inside the real system browser — WebRTC streams that need the user's already-granted camera and microphone, sessions the user is already logged into in Safari, system-level autofill and Reader mode. UniWebView Safe Browsing hands the URL off there: SFSafariViewController on iOS, Chrome Custom Tabs on Android.

Read the docs
OpenExternal.cs C#
if (UniWebViewSafeBrowsing.IsSafeBrowsingSupported) {
    var browser = UniWebViewSafeBrowsing.Create(
        "https://chat.example.com/room/42"
    );
    browser.OnSafeBrowsingFinished += b => {
        Debug.Log("System browser dismissed");
    };
    browser.Show();
}
04 / Features

A small, predictable API surface.

UniWebView is opinionated about scope. These are the parts of the native web view it exposes, plus the Unity integration that sits on top.

01 ╱ Native backend iOS · Android

Direct WKWebView, direct WebView.

iOS calls WKWebView, Android calls WebView. No second engine bundled. Cookies, local storage, service workers, modern HTML5 — exactly what the system browser ships.

02 ╱ Bridge iOS · Android

Two-way C# ↔ JavaScript messaging.

Send named messages with arguments from the page to Unity, and back. Inject custom JavaScript at runtime when the page needs to be told something only Unity knows.

03 ╱ Auth iOS · Android

OAuth 2.0 without a per-provider SDK.

Open the provider page, listen for the redirect URL, parse the token. One implementation handles Google, Apple, Discord, Twitch — and your own backend.

04 ╱ Layout iOS · Android

Canvas-aware. Texture-capable.

Position and size the view with RectTransform — Unity UI just works. Or render the view as a Texture and sample it on a 3D mesh inside your scene.

05 ╱ Local content iOS · Android

Offline-friendly local file loading.

Load HTML, CSS, JavaScript, and images from StreamingAssets or PersistentDataPath — useful for pre-shipped UI, cached promo content, and fully offline games.

06 ╱ Editor macOS Editor

Iterate in the Unity Editor on macOS.

Preview your web view inside the macOS Editor without rebuilding to a device every cycle. Editor preview is for development only — production targets stay iOS and Android.

05 / Pricing

Pick the channel that matches how you ship.

The same plugin underneath. The differences are about update cadence, support depth, and whether you need the source.

Asset Store
$29.99 one-time

Distributed inside the Unity Asset Store. Convenient if your studio already buys assets through Unity.

  • All supported platforms
  • Free updates within v6.x
  • User documentation and guide
  • Email support
Buy on Asset Store

※ Updates and refunds follow the Asset Store review cycle (~1 week).

★ For Pro & Teams
Source Access
$149 one-time

Everything in UniWebView Store, plus the source code on GitHub.

  • All supported platforms
  • Free updates for all future versions, including majors
  • GitHub repository access
  • Engineering-grade documentation
  • Priority email support
  • Early access to new releases
Get Source Access

※ Have your GitHub username ready at checkout.

✦ Recommended
UniWebView Store
$29.99 one-time

Direct from us. Updates and refunds in hours, not Asset Store review cycles — and you reach the author straight away.

  • All supported platforms
  • Free updates within v6.x
  • Instant updates and refunds
  • Email support — direct from the author
  • Release notifications
Buy on UniWebView Store

※ Same plugin as the Asset Store — newer build, faster turnaround.

Already on a previous version? See upgrade pricing →

06 / Reviews

What Unity developers say.

Real Asset Store reviews.

★ Review 01 ★★★★★

Very Impressive

Loads of features. I was able to integrate my web app into my Unity game. Well worth the money.
— izeko2004 Unity Asset Store
★ Review 02 ★★★★★

Feature-rich WebView solution

A recent issue with an event was promptly addressed by the developer. It's great to see such active maintenance and support.
— DntasEduardo Unity Asset Store
★ Review 03 ★★★★★

Really solid asset

Does everything it says on the can and has great support. When I was facing a problem I was instantly helped out by the developer.
— m4d Unity Asset Store

See all reviews on the Unity Asset Store