Unity 用の Google パッケージをインストールする

Unity 用の Google パッケージは、次の 2 つの異なる形式で配布されます。

  • アセット パッケージ:
    • .unitypackage 拡張子が付いている。
    • プロジェクトの Assets ディレクトリにインストールします。
    • Unity 5 以降でインポートできます。
    • 通常、依存関係パッケージを含めます。
  • Unity Package Manager(UPM)パッケージ:
    • .tgz 拡張子が付いている。
    • プロジェクトの Packages ディレクトリにインストールします。
    • Unity 2018.4 以降でインポートできます。
    • 個別にインストールする必要がある依存パッケージを参照します。

[Packages] ページには、利用可能なすべてのパッケージの最新の .unitypackage ファイルと、一部のパッケージの .tgz ファイルが含まれています。

[アーカイブ] ページには、すべてのパッケージ バージョンの .unitypackage ファイルと .tgz ファイルが含まれています。

以下では、両方のタイプのパッケージをインストールする方法と、一方のタイプから他方のタイプに移行するための手順について説明します。

これらのインストール オプションを理解したら、Firebase のプロダクト固有の追加の手順も必ずご確認ください。

OpenUPM を使用してパッケージをインポートする

OpenUPM レジストリを使用して、Unity プロジェクトに外部パッケージを追加できます。OpenUPM には、Google Play Integrity プラグインなど、不正行為や悪用からアプリを保護するのに役立つ便利なプラグインや SDK が多数ホストされています。

たとえば、OpenUPM を使用して Google Play Integrity プラグインを追加する方法は次のとおりです。

OpenUPM-CLI

OpenUPM CLI がインストールされている場合は、次のコマンドで OpenUPM レジストリをインストールできます。

openupm add com.google.play.integrity

OpenUPM

  1. Unity のメニュー オプション [Edit](編集)> [Project Settings](プロジェクト設定)> [Package Manager] を選択して、Package Manager の設定画面を開きます。

  2. OpenUPM をスコープ付きレジストリとして [Package Manager] ウィンドウに追加します。

    Name: package.openupm.com
    URL: https://package.openupm.com
    Scopes: com.google.external-dependency-manager
     com.google.play.common
     com.google.play.core
     com.google.play.integrity
    
  3. Unity のメニュー オプション [Window](ウィンドウ)> [Package Manager]を選択して、Package Manager メニューを開きます。

  4. マネージャー スコープのプルダウンで [My Registries](マイレジストリ)を選択します。

  5. パッケージ リストから [Google Play Integrity plugin for Unity] パッケージを選択し、[Install](インストール)を押します。

.unitypackage ファイルを含むアセット パッケージをインポートする

Unity メニュー オプションの Assets > Import package > Custom Package を選択し、すべてのアイテムをインポートして、.unitypackage ファイルをインポートします。これにより、パッケージの内容が Assets ディレクトリのプロジェクトに追加されます。

.tgz ファイルを含む UPM パッケージをインポートする(2018.4 以降)

次のいずれかの方法で .tgz ファイルをプロジェクトにインポートします。

manifest.json

  1. プロジェクトの Packages フォルダの隣に新しいフォルダを作成し、GooglePackages という名前を付けます。
  2. そのフォルダに .tgz ファイルを配置します。
  3. テキスト エディタを使用して、Unity プロジェクト フォルダにある Packages/manifest.json を開きます。
  4. インストールする各パッケージのエントリを追加し、パッケージ名とディスク上の場所を Packages/manifest.json ファイルからの相対パスでマッピングします。.tgz ファイルのパスの前に file: を付加してください。たとえば、com.google.firebase.storage とその依存関係をインストールする場合、manifest.json は次のようになります。

    {
      "dependencies": {
        "com.google.external-dependency-manager": "file:../GooglePackages/com.google.external-dependency-manager-1.2.164.tgz",
        "com.google.firebase.app": "file:../GooglePackages/com.google.firebase.app-7.1.0.tgz",
        "com.google.firebase.auth": "file:../GooglePackages/com.google.firebase.auth-7.1.0.tgz",
        "com.google.firebase.storage": "file:../GooglePackages/com.google.firebase.storage-7.1.0.tgz",
        // com.unity package entries...
      }
    }
    
  5. manifest.json ファイルを保存します。

  6. Unity が再度アクティブになると、manifest.json が再読み込みされ、新しく追加されたパッケージがインポートされます。

Unity の一部の古いバージョンでは、manifest.json 内に .tgz ファイルを記述できません。この場合は、次のことを行う必要があります。

  1. .tgz ファイルを解凍します。
  2. 抽出したフォルダを GooglePackages フォルダに配置します。
  3. manifest.json を編集し、次のように .tgz ファイルではなく抽出されたフォルダのパスを使用するようにします。

    {
      "dependencies": {
        "com.google.external-dependency-manager": "file:../GooglePackages/com.google.external-dependency-manager-1.2.164",
        "com.google.firebase.app": "file:../GooglePackages/com.google.firebase.app-7.1.0",
        "com.google.firebase.auth": "file:../GooglePackages/com.google.firebase.auth-7.1.0",
        "com.google.firebase.storage": "file:../GooglePackages/com.google.firebase.storage-7.1.0",
        // com.unity package entries...
      }
    }
    

Package Manager UI

  1. Unity の Package Manager ウィンドウを開きます。
  2. Package Manager ウィンドウの左上にある + アイコンをクリックし、[Add package from tarball] を選択してファイル ブラウザを開きます。

    Unity Package Manager ウィンドウのスクリーンショット

  3. ファイル ブラウザで目的の tarball を選択します。

Unity の一部の古いバージョンでは、tarball を直接追加できません。この場合は、次の操作を行う必要があります。

  1. .tgz ファイルを展開します。
  2. Package Manager ウィンドウの左上にある + アイコンをクリックし、[Add package from disk] を選択してファイル ブラウザを開きます。

    Unity Package Manager ウィンドウのスクリーンショット

  3. ファイル ブラウザで抽出したフォルダを選択します。

パッケージの依存関係の .tgz ファイルもインポートしてください。これは、目的のパッケージのセクションのアーカイブ ページに記載されています。

たとえば、com.google.firebase.storage をインストールする場合は、次の順序で .tgz ファイルをインストールします。

  1. External Dependency Manager(com.google.external-dependency-manager
  2. Firebase Core(com.google.firebase.app
  3. Firebase Auth(com.google.firebase.auth
  4. Firebase Storage(com.google.firebase.storage

順序を気にせずにすべての .tgz ファイルを一度に追加したい場合は、manifest.json タブの手順に沿って操作してください。

バージョン管理

バージョン管理ソフトウェアを使用してプロジェクト ファイルを管理している場合は、関連する .tgz ファイルをバージョン管理に追加することをおすすめします。プロジェクトの manifest.json を手動で編集し(上記の手順を参照)、相対パスを使用してローカルの .tgz ファイルを参照できます。

git を使用している場合は、大きな .tgz ファイルの管理に Git Large File Storage(LFS)を使用することをおすすめします。

UPM パッケージからアセット パッケージに移行する

Unity Package Manager を使用して Google パッケージを管理する方法から、Assets フォルダの下にあるパッケージをインストールする方法に切り替えたい場合があります。

次のいずれかの方法で、すべての Google パッケージを Unity Package Manager から削除します。

Package Manager UI

  1. Unity の Package Manager ウィンドウを開きます。
  2. 左上のプルダウンで In Project を選択します。

    Unity Package Manager ウィンドウのスクリーンショット

  3. 検索バーに「com.google」と入力して、Google パッケージをフィルタします。

    Unity Package Manager ウィンドウのスクリーンショット

  4. 各パッケージ名をクリックし、[Remove] をクリックします。

manifest.json

  1. テキスト エディタを使用して、Unity プロジェクト フォルダにある Packages/manifest.json を開きます。
  2. [dependencies] に Google のパッケージがあるかどうかを確認します。パッケージ名は「com.google」で始まる必要があります(例: 「com.google.firebase.app」)。
  3. これらの行を削除して、json ファイルを保存します。
  4. Unity が再度アクティブになると、manifest.json ファイルが再読み込みされ、削除されたパッケージが削除されます。

Unity Package Manager からこれらのパッケージをアンインストールしたら、アーカイブ ページから代替の .unitypackage ファイルをダウンロードしてインポートできます。

アセット パッケージから UPM パッケージに移行する

アセット ツリーの下にあるプロダクトをインストールする方法から、Unity Package Manager を使用してプロダクトのインストールとトラッキングを行う方法に切り替えたい場合があります。

使用しているインストール方法がわからない場合は、Unity UI で、目的の Google パッケージが [プロジェクト] タブの [アセット] に表示されているかどうかを確認します。

UPM パッケージに移行するには:

  1. Assets フォルダからすべての Google パッケージが削除されていることを確認します。

    • Firebase パッケージをアンインストールするには、こちらの手順に沿って操作します。
    • Unity 用の Play プラグインをアンインストールするには、Assets の下の GooglePlayPlugins フォルダを削除します。
  2. 上記の説明に沿って、Unity Package Manager を使用してパッケージをインストールします。

プロダクト固有の移行手順

Firebase の手順については、こちらをご覧ください。