スポンサーリンク
Unity C#・スクリプト実装

【Unity】Webページを開く方法|ButtonとApplication.OpenURLの使い方を初心者向けに解説

Unity C#・スクリプト実装

Unityでゲームを作っていると、「ボタンを押したら公式サイトを開きたい」「問い合わせフォームや利用規約ページへ移動できるようにしたい」と感じる場面があります。

ただ、UnityのButtonを作っただけでは、Webページは自動で開きません。ボタンのクリックイベントと、URLを開くためのスクリプトをつなげる必要があります。

特に初めて実装すると、On Click()の設定場所や、どこにURLを書けばよいのかで迷いやすいです。さらに、エディター上では動いても、WebGLやスマホの実機では挙動が変わる場合もあります。

ここでは、UnityのButtonからWebページを開く基本的な作り方を、実装手順・サンプルコード・動かない時の確認ポイントまでまとめます。


UnityでWebページを開く方法【結論】

UnityでWebページを開きたい場合は、基本的にApplication.OpenURLを使います。

Application.OpenURLは、指定したURLを端末のブラウザで開くためのUnity標準機能です。たとえば、ゲーム内の「公式サイト」「お問い合わせ」「利用規約」「攻略ページ」などへ移動させたい時に使えます。

Buttonと組み合わせる場合の流れは、次のようになります。

  • Buttonを作成する
  • URLを開くスクリプトを作成する
  • ButtonのOn Click()に関数を登録する
  • 再生して、ボタンを押した時にWebページが開くか確認する

ここで大事なのは、ButtonだけではURLは開かないという点です。Buttonは「クリックされたことを知らせる部品」であり、実際にWebページを開く処理はC#スクリプト側に書きます。

また、Application.OpenURLはUnityのゲーム画面内にWebページを表示する機能ではありません。通常は、外部ブラウザやブラウザタブでページを開く動きになります。

ゲーム内にWebページを埋め込んで表示したい場合は、WebView系の仕組みが別途必要です。今回の主軸は「ボタンを押して外部のWebページを開く方法」に絞って進めます。




ButtonでURLを開く完成コード

まずは実際に動くコードを見てみましょう。

URLを1つだけ開くのであれば、次のようなシンプルなコードで十分です。

固定URLを開くコード

using UnityEngine;

public class OpenURL : MonoBehaviour
{
    public void OpenWebsite()
    {
        Application.OpenURL("https://example.com");
    }
}

このコードでは、OpenWebsite()が呼ばれたときに指定したURLを開きます。

たとえば、ゲームの公式サイトへ移動させたい場合や、利用規約ページへ誘導したい場合に便利です。

InspectorからURLを変更できるコード

URLを後から変更したい場合は、Inspectorから設定できる形にしておくと管理しやすくなります。

using UnityEngine;

public class OpenURL : MonoBehaviour
{
    [SerializeField]
    private string url;

    public void OpenWebsite()
    {
        Application.OpenURL(url);
    }
}

この方法なら、スクリプトを書き換えなくてもInspector上でURLを変更できます。

複数のボタンを作る場合にも便利です。

たとえば次のような使い分けができます。

  • 公式サイトボタン → https://example.com
  • お問い合わせボタン → https://example.com/contact
  • SNSボタン → https://x.com/example



ButtonにOpenURLを設定する手順

Buttonを作成する

まずはURLを開くためのButtonを作成します。

  1. Hierarchyウィンドウを右クリックする
  2. 「UI → Button」を選択する
  3. シーンにButtonが作成されることを確認する

Buttonが作成されると、Canvasも自動的に作成されます。

ボタンのテキストは「公式サイトを開く」や「お問い合わせ」など、プレイヤーが何をするボタンなのか分かる名前に変更しておきましょう。

UIの基本操作に慣れていない場合は、こちらの記事も参考になります。

スクリプトをアタッチする

次に、先ほど作成したOpenURLスクリプトをButtonへアタッチします。

  1. ProjectウィンドウでOpenURLスクリプトを作成する
  2. Buttonオブジェクトへドラッグ&ドロップする

InspectorにOpenURLコンポーネントが表示されれば準備完了です。

SerializeField版を使っている場合は、この時点でURL入力欄も表示されます。

On Click()に関数を登録する

Buttonがクリックされた時に関数を実行する設定を行います。

  1. Buttonを選択する
  2. Inspectorの「Button」コンポーネントを探す
  3. 「On Click()」欄の「+」ボタンを押す
  4. オブジェクト欄へButtonをドラッグする
  5. 関数一覧から「OpenURL → OpenWebsite」を選択する
On Click()に関数を登録するunityのスクリーンショット

設定が正しければ、ボタンをクリックした時にOpenWebsite()が実行されるようになります。

ここでよくあるミスは、スクリプトを登録したつもりでも、関数を選択していないケースです。

On Click()の右側に「No Function」と表示されている場合は、まだ設定が完了していません。

動作確認する

最後にPlayボタンを押して動作確認を行います。

  1. Unityを再生する
  2. Buttonをクリックする
  3. ブラウザが起動することを確認する

指定したURLが表示されれば実装成功です。




URLが開かない時の確認ポイント

設定手順どおりに実装したつもりでも、ボタンを押しても何も起こらない場合があります。

そのような時は、次のポイントを順番に確認してみましょう。

URLにhttps://が付いているか

最初に確認したいのがURLの書き方です。

例えば次のような形式になっている必要があります。

https://example.com

一方で、次のようなURLは正常に開けない場合があります。

example.com

http://やhttps://を付け忘れていると、環境によってはURLとして認識されないことがあります。

まずはブラウザに直接貼り付けてアクセスできるURLか確認してみましょう。

On Click()に正しい関数を登録したか

Buttonの設定ミスも非常によくあります。

On Click()には、オブジェクトを登録するだけでは不十分です。

オブジェクト登録後に、実行する関数まで選択する必要があります。

正しい設定例は次の状態です。

  • Object欄にOpenURLスクリプトが付いたオブジェクトが登録されている
  • 関数に「OpenURL → OpenWebsite」が選択されている

「No Function」のままになっている場合は、クリックしても何も実行されません。

スクリプト名とクラス名が一致しているか

Unityでは、スクリプト名とクラス名が一致していないと正常に動作しません。

例えばファイル名がOpenURL.csなのに、クラス名が別の名前になっているとエラーになります。

public class OpenURL : MonoBehaviour
{
}

ファイル名とクラス名は同じにしておきましょう。

もしスクリプトをアタッチできない場合は、この部分を確認してみてください。

Consoleにエラーが出ていないか

UnityのConsoleウィンドウに赤いエラーが表示されている場合、そのエラーが原因で処理が実行されていない可能性があります。

特に次のようなエラーはよく見かけます。

  • コンパイルエラー
  • NullReferenceException
  • MissingReferenceException

エラーが1つでも残っていると、期待どおりに動作しないことがあります。

まずはConsoleを確認し、エラーを解消してから再度テストしてみましょう。

クリックイベント自体が反応しない場合は、こちらの記事も参考になります。




WebGL・スマホで使う時の注意点

Application.OpenURLはシンプルで便利ですが、実行する環境によって挙動が少し変わる場合があります。

Unityエディターで動いたからといって、WebGLビルドやスマホ実機でも必ず同じ見え方になるとは限りません。公開前には、実際に使う環境で確認しておくのがおすすめです。

WebGLはブラウザ設定に影響される

WebGLでは、URLを開く動作がブラウザや設定の影響を受けることがあります。

たとえば、ポップアップブロックの設定や、ブラウザ側のタブ制御によって、新しいタブで開く場合もあれば、想定どおりに開かない場合もあります。

確認する時は、次のように複数の条件で試すと安心です。

  • ChromeやSafariなど、使用予定のブラウザで確認する
  • 新しいタブで開くか確認する
  • ポップアップブロックの影響を受けていないか確認する

WebGL向けに公開する場合は、URLを開く処理だけでなく、文字表示やブラウザ依存の問題も起きやすいです。WebGL関連の確認ポイントは、こちらも参考になります。




まとめ:UnityでURLを開くならOpenURL

UnityでWebページを開く機能を実装する場合は、Application.OpenURLを使うのが最も手軽な方法です。

実装の流れを振り返ると、次の4ステップになります。

  1. Buttonを作成する
  2. OpenURL用のスクリプトを作成する
  3. On Click()に関数を登録する
  4. 実際にクリックして動作確認する

特に初心者の方がつまずきやすいのは、On Click()の設定漏れやURLの入力ミスです。

ボタンを押しても何も起きない場合は、次のポイントを確認してみてください。

  • URLにhttps://が付いているか
  • On Click()に関数を登録しているか
  • スクリプトが正しくアタッチされているか
  • Consoleにエラーが出ていないか

また、WebGLやスマホでは環境によって挙動が変わる場合があります。

エディター上で問題なく動いていても、公開前には必ず実機やビルド環境で確認しておくと安心です。

Unityの基礎から体系的に学びたい場合は、こちらの書籍も参考になります。

Unityの教科書 Unity 6完全対応版
✅ Amazonでチェックする✅ 楽天でチェックする

公式サイトや問い合わせフォームへの導線を作る機会は意外と多いので、Application.OpenURLは早めに覚えておくと便利な機能のひとつです。


※当サイトはアフィリエイト広告を利用しています。リンクを経由して商品を購入された場合、当サイトに報酬が発生することがあります。

※本記事に記載しているAmazon商品情報(価格、在庫状況、割引、配送条件など)は、執筆時点のAmazon.co.jp上の情報に基づいています。
最新の価格・在庫・配送条件などの詳細は、Amazonの商品ページをご確認ください。

スポンサーリンク