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 HubInstalls -> Unity 20xx.x.xx -> Add ModulesWebGL Build Supportをインストールしてください。

 

用意されたゲームプロジェクトを開いて、PlatformWebGLを選んでもらいます。
そして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をローカルで起動してみてください。

以上です。