Opciones adicionales de instalación de Unity

En vez de descargar un archivo .zip de gran tamaño que contenga todos los archivos .unitypackage para .NET 3.X y .NET 4.X, puedes descargar paquetes individuales del sitio de las API de Google para Unity.

En el sitio, encontrarás lo siguiente:

  • Archivos .unitypackage de .NET 4.X individuales para importar como paquetes de elementos
  • Archivos .tgz individuales para importar con Unity Package Manager

Estos recursos resultan particularmente útiles cuando usas un solo producto de Firebase en tu app, ya que los archivos .unitypackage individuales contienen todas las dependencias necesarias, y los archivos .tgz aparecen junto con los archivos .tgz relacionados de los que dependen.

En esta página, se proporcionan instrucciones relacionadas con Unity Package Manager, por lo que es una buena idea aprender sobre la herramienta con la documentación de Unity.

Importa paquetes de Firebase como elementos

Cuando importes productos de Firebase desde archivos .unitypackage descargados del sitio de las API de Google para Unity, ten en cuenta lo siguiente:

  • Si utilizas varios productos de Firebase en tu proyecto, debes descargarlos y actualizarlos todos a la misma versión.

  • No mezcles métodos de importación en un proyecto. Es decir, no importes productos de Firebase tanto con el flujo de paquetes de elementos como con el flujo de Unity Package Manager en un mismo proyecto.

Después de la descarga, haz lo siguiente para importar:

  1. Abre tu proyecto de Unity, ve a Assets > Import Package > Custom Package.

  2. En la ventana Import Unity Package, haz clic en Import.

Importa paquetes de Firebase con Unity Package Manager

Cuando importes productos de Firebase desde archivos .tgz descargados del sitio de las API de Google para Unity, ten en cuenta lo siguiente:

  • Este método solo está disponible a partir de la versión 2018.3.

  • Si utilizas varios productos de Firebase en tu proyecto, debes descargarlos y actualizarlos todos a la misma versión.

  • No mezcles métodos de importación en un proyecto. Es decir, no importes productos de Firebase tanto con el flujo de paquetes de elementos como con el flujo de Unity Package Manager en un mismo proyecto.

  • Las dependencias de los archivos .tgz de cada producto incluyen vínculos junto con sus propios archivos .tgz. Debes descargar e importar el archivo .tgz del producto y los archivos de dependencia .tgz en el orden correcto:

    1. External Dependency Manager (com.google.external-dependency-manager)
    2. Firebase Core (com.google.firebase.app)
    3. Los productos de Firebase que uses en tu proyecto (si utilizas Realtime Database o Cloud Storage, importa Authentication [com.google.firebase.auth] primero)

Después de la descarga, importa los archivos .tgz a tu proyecto mediante uno de los siguientes métodos:

IU de Package Manager

  1. Abre la ventana de Unity Package Manager.
  2. Haz clic en el ícono + ubicado en la esquina superior izquierda de la ventana de Package Manager y selecciona Add package from tarball para abrir el navegador de archivos.
  3. Selecciona el archivo tarball que quieras en el navegador de archivos.

Algunas versiones anteriores de Unity 2019 no admiten agregar archivos tarball de manera directa. En este caso, deberás hacer lo siguiente:

  1. Descomprime el archivo .tgz.
  2. Haz clic en el ícono + ubicado en la esquina superior izquierda de la ventana de Package Manager y selecciona Add package from disk para abrir el navegador de archivos.
  3. Selecciona la carpeta extraída en el navegador de archivos.

manifest.json

  1. Crea una carpeta nueva junto a la carpeta Packages de tu proyecto y nómbrala GooglePackages.
  2. Coloca los archivos .tgz en ella.
  3. Usa un editor de texto para abrir Packages/manifest.json en la carpeta de tu proyecto de Unity.
  4. Agrega una entrada para cada paquete que quieras importar y asigna el nombre del paquete a la ubicación en el disco. Asegúrate de agregar file: a la ruta de acceso del archivo .tgz. Por ejemplo, si quieres importar com.google.firebase.storage y sus dependencias, tu archivo manifest.json tendría el siguiente aspecto:

    {
      "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. Guarda el archivo manifest.json.

  6. Cuando Unity vuelva a estar en primer plano, se volverá a cargar manifest.json y, luego, se importarán los paquetes recién agregados.

Algunas versiones anteriores de Unity no admiten archivos .tgz en el archivo manifest.json. En este caso, haz lo siguiente:

  1. Descomprime el archivo .tgz.
  2. Edita tu archivo manifest.json para usar la ruta de acceso a la carpeta extraída en vez del archivo .tgz, de la siguiente manera:

    {
      "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...
      }
    }
    

Migra de Unity Package Manager a paquetes de elementos

En algunos casos, es posible que quieras dejar de usar Unity Package Manager para supervisar los productos de Firebase y comenzar a importar los productos en la carpeta Assets.

Si no sabes qué método de importación usas, abre el archivo Packages/manifest.json en la carpeta de tu proyecto de Unity. Si el archivo contiene entradas que comienzan con com.google.firebase, se usó Unity Package Manager en la instalación del proyecto.

Sigue estos pasos para migrar a paquetes de elementos:

  1. Toma nota de las versiones actuales de los paquetes de Firebase de tu proyecto y quítalas.

    1. En el menú Window, selecciona Package Manager. En la ventana Package Manager, asegúrate de que esté seleccionada la opción “Packages: In Project”.
    2. Toma nota de las versiones de los paquetes de Firebase importados.
    3. Haz clic en el nombre de cada paquete y, luego, en Remove. Asegúrate de quitar el paquete External Dependency Manager (.com.google.external-dependency-manager) y los paquetes de Firebase.
  2. Descarga e importa los archivos .unitypackage de reemplazo. Tienes estas dos opciones:

    • Si puedes actualizar a la versión más reciente de cada paquete, descarga el archivo ZIP del SDK de Firebase Unity y, luego, impórtalo como se describe en Agrega Firebase a tu proyecto de Unity.
    • Si necesitas conservar las versiones actuales de .unitypackage, puedes descargar e importar paquetes individuales como se describió anteriormente en esta página.

Migra desde paquetes de elementos a Unity Package Manager

En algunos casos, tal vez quieras dejar de instalar productos en la carpeta Assets y comenzar a instalar y supervisar los productos con Unity Package Manager.

Si no sabes qué método de importación usas, abre el archivo Packages/manifest.json en la carpeta de tu proyecto de Unity. Si el archivo contiene entradas que comienzan con com.google.firebase, ya usas Unity Package Manager para la importación del proyecto.

Sigue estos pasos para migrar a Unity Package Manager:

  1. Asegúrate de quitar todos los paquetes de Firebase y el paquete External Dependency Manager de la carpeta Assets mediante cualquiera de los siguientes métodos.

    IU de EDM4U

    1. En el proyecto abierto de Unity, ve a Assets > External Dependency Manager > Version Handler > Uninstall Managed Packages.
    2. Selecciona todos los paquetes de Firebase y External Dependency Manager.
    3. Haz clic en Uninstall Selected Package.

    Eliminación manual

    Con las herramientas del sistema de archivos, borra manualmente las siguientes carpetas:

    • Assets/Editor Default Resources/Firebase
    • Assets/ExternalDependencyManager
    • Assets/Firebase
    • Assets/Parse
    • Assets/Plugins/iOS/Firebase
  2. Importa los paquetes con Unity Package Manager como se describió anteriormente en esta página.