webView
Unity
uniwebview
unity-webview

【Unity】Unityでガワアプリを作ろうとしたらWebViewがなかった【webView】

Unityでガワアプリを作ることになった話

業務でウェブサイトを開発時、アプリ版も作ろうという話になり急遽アプリを作成することになった。
開発中のウェブサイトがレスポンシブ対応なので、ただWebViewで表示するだけでいい。

なぜUnityになったのか?

  • C#でコーディングできる
  • マルチプラットフォームで工数削減
  • Unityが信頼できるから(上層部の意見)
  • スマホのストレージにデータを保存させたい

以上のことからUnityで作成することになった(私が決めた訳ではない)。

開発初っ端からつまづく

なんと、Unityには標準でWebView機能が実装されていなかった。
ゲームエンジンだから、WebViewなんか使わないということなのだろうか?

とりあえず、ググってみると2種類のプラグインを見つけた

  • unity-webview
  • uniWebView3

前者は任天堂が倒せるとか倒せないとかで有名なGreeが提供しているライブラリだ
後者はUnityのアセットストアで25$くらいで売られている有償ライブラリだ

両者とも試してみて、結局後者の有償版を使うことにした。
リファレンスの充実度、汎用性、使いやすさは流石有償といったところ、Greeのものより圧倒的に使いやすかった。

GreeのWebViewには下記のようなガイドがないので、Unity初心者にはちとキツイのである。
UniWebView3 ガイド

WebViewでよく使われる、JavaScriptからネイティブの関数にアクセスする機能も、UniWebViewだとかなり細かく設定でき、ネイティブ側でのコールバック時の管理がしやすい。

逆にGreeの方は、string型を返すくらいしかできず、自分で管理してやる必要がある。

これらのことを踏まえても、UnityでWebViewを使うならUniWebView3を私は推す。

そもそもUnityでガワアプリを作る必要性とは?

たまたま、有能なWebViewライブラリがあったので助かったが、それがなかったら多分詰んでいた。
とりあえずUnityでWebViewを使ったガワアプリを作るのはおかしいし、そもそも作るべきではないのかな、と思った。

マルチ開発でC#開発だとXamarinがある、そっちはWebViewが標準でつかえるらしい。