UnityのWebGLゲームをローカルで起動する方法
概要
Unityは複数プラットフォームを対応できますが、WebGL版の場合、「Build And Run」が成功したら、Unity自体のSimpleWebServerが使われ、WebGL版ゲームが起動されます。だけど、一旦起動されるゲームを閉じたら、そのままビルドされたものを再度ローカルで(index.htmlを開くことだけで)ゲームを起動することはできません。
MacOS上はUnity自体のSimpleWebServerを使うことは難しいので、別のローカルサーバーでWebGLゲームを起動する方法を紹介したいと思います。(この記事はMacOS向けですが、今後Windows側の方法も追加するかもしれません)
マシン環境
PC: Macbook Air(2020, M1)
Browser: Chrome / Version 96.0.4664.45 (Official Build) (arm64)
Engine: Unity 2020.3.22f1
UnityのWebGLゲームをビルドする
Unityを起動する前に、Unity HubでInstalls -> Unity 20xx.x.xx -> Add Modules
にWebGL Build Support
をインストールしてください。
用意されたゲームプロジェクトを開いて、Platform
でWebGL
を選んでもらいます。
そしてFile -> BuildSettings -> PlayerSetting
で設定に入り、スクリンショットのように設定してくだ さい。
設定完了でしたら、BuildSettingsにあるBuild And Run
を押してください(ビルドのパスが聞かれるので適当に設定してください)。
プロジェクト自体問題がなければそのままChromeが起動され、無事にWebGLがローディングできます。
これでWebGLのゲームをビルド成功ということです。
ローカルサーバーでゲーム起動
Unity自体のSimpleWebServerをMacOS上に起動する方法を見つからないので、WebGLのゲームを起動するために、自分のローカルサーバーを用意しなければならないと思います。
Chromeでこのアプリをインストールしてください: Web Server for Chrome
インストールできたら、Launch app
で起動し、CHOOSE FOLDER
でさっきのWebGLゲームビルドパスを指定し、Web Server: STARTED
の状態にします。
Web Server URL(s)
に表示されるリンクを押すか、そのリンクをブラウザに入力することで、ローカルサーバーのゲームに入ることができます。「Your connection is not private」
が出て、リンクに入れない場合は、ページ白い部分どっかに左クリックし、キーボードでthisisunsafe
を入力するという裏技でそのワーニングページをスキップでき、ローカルのWebGLに入ります。
この流れを試してWebGLをローカルで起動してみてください。
以上です。