その他の Unity インストール オプション

.NET 3.X と .NET 4.X では、すべての .unitypackage ファイルを含む大きな .zip ファイルをダウンロードする代わりに、Unity 用 Google API サイトから個々のパッケージをダウンロードできます。

このサイトでは以下を提供しています。

  • アセット パッケージとしてインポートする個々の .NET 4.X .unitypackage ファイル。
  • Unity Package Manager を使用してインポートする個々の .tgz アーカイブ。

これは、アプリで Firebase プロダクトを 1 つだけ使用する場合に特に便利です。個々の .unitypackage ファイルには必要な依存関係がすべて含まれています。そして .tgz ファイルは、依存関係のある他の .tgz ファイルとともにリストされています。

このページでは、Unity Package Manager に関する手順について説明します。Unity のドキュメントを参照してこのツールについて学習することをおすすめします。

Firebase パッケージをアセットとしてインポートする

Unity 用 Google API サイトからダウンロードした .unitypackage ファイルから Firebase プロダクトをインポートする場合は、次の点に注意してください。

  • プロジェクト内で複数の Firebase プロダクトを使用している場合は、すべての Firebase プロダクトが同じバージョンになるようにダウンロードとアップグレードを行う必要があります。

  • 1 つのプロジェクト内で複数のインポート方法を混在させないでください。つまり、アセット パッケージのフローと Unity Package Manager のフローの両方を使用して Firebase プロダクトをインポートしないでください。

ダウンロード後にインポートするには:

  1. 開いている Unity プロジェクトで、[Assets] > [Import Package] > [Custom Package] を選択します。

  2. [Import Unity Package] ウィンドウで [Import] をクリックします。

Unity Package Manager を使用して Firebase パッケージをインポートする

Unity 用 Google API アーカイブからダウンロードした .tgz ファイルから Firebase プロダクトをインポートする場合は、次の点に注意してください。

  • この方法は 2018.3 以降でのみ使用できます。

  • プロジェクト内で複数の Firebase プロダクトを使用している場合は、すべての Firebase プロダクトが同じバージョンになるようにダウンロードとアップグレードを行う必要があります。

  • 1 つのプロジェクト内で複数のインポート方法を混在させないでください。つまり、アセット パッケージのフローと Unity Package Manager のフローの両方を使用して Firebase プロダクトをインポートしないでください。

  • 各プロダクトの .tgz ファイルの横に、その .tgz ファイルの依存関係のリンクが表示されています。プロダクトの .tgz ファイルとその依存関係の .tgz ファイルをダウンロードし、正しい順序でインポートする必要があります。

    1. External Dependency Manager(com.google.external-dependency-manager
    2. Firebase Core(com.google.firebase.app
    3. プロジェクトで使用する Firebase プロダクト。Realtime Database または Cloud Storage を使用する場合は、最初に Authentication(com.google.firebase.auth)をインポートしてください。

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

Package Manager UI

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

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

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

manifest.json

  1. プロジェクトの Packages フォルダの隣に新しいフォルダを作成し、GooglePackages という名前を付けます。
  2. そのフォルダに .tgz ファイルを配置します。
  3. テキスト エディタを使用して、Unity プロジェクト フォルダにある Packages/manifest.json を開きます。
  4. インポートする各パッケージのエントリを追加し、パッケージ名とディスク上の場所をマッピングします。.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. 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...
      }
    }
    

Unity Package Manager からアセット パッケージに移行する

Unity Package Manager を使用して Firebase プロダクトをトラッキングする方法から、Assets フォルダの下にあるプロダクトをインポートする方法に切り替えたい場合があります。

使用しているインポート方法がわからない場合は、Unity プロジェクト フォルダで Packages/manifest.json ファイルを開きます。ファイルに com.google.firebase で始まるエントリが含まれている場合は、Unity Package Manager を使用してインポートしています。

アセット パッケージに移行するには:

  1. プロジェクト内の現在の Firebase パッケージのバージョンをメモし、それらを削除します。

    1. [Window] メニューから [Package Manager] を選択します。[Package Manager] ウィンドウで、[Packages: In Project] が選択されていることを確認します。
    2. インポートされている Firebase パッケージのバージョンをメモします。
    3. 各パッケージ名をクリックし、[Remove] をクリックします。Firebase パッケージだけでなく、External Dependency Manager パッケージ(.com.google.external-dependency-manager)も削除する必要があります。
  2. 置換用の .unitypackage ファイルをダウンロードしてインポートします。次の 2 つのオプションがあります。

    • 各パッケージの最新バージョンにアップグレードできる場合は、Firebase Unity SDK の zip ファイルをダウンロードし、Unity プロジェクトに Firebase を追加するの説明に沿ってインポートします。
    • 現在の .unitypackage のバージョンを保持する必要がある場合は、このページの上述の説明に沿って、個々のパッケージをダウンロードしてインポートします。

アセット パッケージから Unity Package Manager に移行する

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

使用しているインポート方法がわからない場合は、Unity プロジェクト フォルダで Packages/manifest.json ファイルを開きます。ファイルに com.google.firebase で始まるエントリが含まれている場合は、Unity Package Manager を使用してインポートしています。

Unity Package Manager に移行するには:

  1. 次のいずれかの方法で、すべての Firebase パッケージと External Dependency Manager パッケージを Assets フォルダから削除します。

    EDM4U UI

    1. 開いている Unity プロジェクトで、[Assets] > [External Dependency Manager] > [Version Handler] > [Uninstall Managed Packages] に移動します。
    2. すべての Firebase パッケージと External Dependency Manager を選択します。
    3. [Uninstall Selected Package] をクリックします。

    手動による削除

    ファイル システム ツールを使用して、次のフォルダを手動で削除します。

    • Assets/Editor Default Resources/Firebase
    • Assets/ExternalDependencyManager
    • Assets/Firebase
    • Assets/Parse
    • Assets/Plugins/iOS/Firebase
  2. このページの上述の説明に沿って、Unity Package Manager を使用してパッケージをインポートします。