firebase-unity-sdk icon indicating copy to clipboard operation
firebase-unity-sdk copied to clipboard

[FR]: Unity Package Manager git support (again)

Open calumma-robert opened this issue 1 year ago • 9 comments

Description

A lot of Google Unity Packages are already (and again) available as a Unity Package Manger git package, like the Google Play Plugins, Google Mobile Ads, etc.

It would just make the integration smoother and also reduces overall footprints on the internet (as i.e. the packages don't need to be checked in) and only downloaded and cached if needed by Unity.

API Proposal

No response

Firebase Product(s)

All

Targeted Platform(s)

Apple Platforms, Android, Desktop

calumma-robert avatar Jul 03 '24 10:07 calumma-robert

Hi @calumma-robert, thanks for filing this feature request. However, It seems unclear to me how this would relate to Firebase. Could you share a bit more details? If however, this is not intended for Firebase, please reach out to proper communication channels. In this case, features for Unity would be better reported to the Unity forums.

argzdev avatar Jul 04 '24 18:07 argzdev

Hey @argzdev, sure let me explain!

Currently to install any of the firebase packages to Unity it must be installed directly via the firebase package's .unitypackage file, or by importing it as a local dependency within Unity's Package Manager (UPM) by referencing the downloaded .tgz file of the needed firebase package.

However, most of Google's packages, has already moved to a git-style package, i.e. 'com.google.external-dependency-manager' (which is a dependency of all firebase packages also).

The EDM can simply be installed by adding directly it's git url (+path to the package.json) inside the UPM like this: https://github.com/googlesamples/unity-jar-resolver.git?path=upm

Integrating it like that, also makes the update process for end-users easier, as you can just press Update within Unity and it will check git for any updates. Additionally, manually downloading the .unitypackage/.tgz is no longer required and the unity project itself is also way cleaner (as it is not saved inside Assets/, and just cached inside Library/...)

With that, each package.json of any firebase package can also easily reference another firebase package as a dependecv, removing the need to bundle all dependencies together (as you have it currently with the .unitypackage approach)

calumma-robert avatar Jul 04 '24 18:07 calumma-robert

Thank you for the well detailed explanation, @calumma-robert. This does sound like a feature we should be doing. That said, while I'm unable to provide a timeline when we'll be able to add this to the roadmap, I'll bring this up to our engineering team for discussion.

argzdev avatar Jul 04 '24 18:07 argzdev

Hey @argzdev , out of curiosity: Do you have any ETA for this feature? 🤔

Cheers!

calumma-robert avatar Oct 09 '24 15:10 calumma-robert

+1 for this.

Installing the .unitypackage directly into /Assets is cumbersome and contributes to increased LFS costs.

Installing the .tgz as Local packages managed via UPM is a mess for version control, because every contributor needs to have the correct version of the file in the same relative path, which is a pain to manage.

Apart from installing them via a Git URL, EDM4U, Google Mobile Ads and others are also already officially available on OpenUPM, so that could be another viable option for the Firebase modules.

plotlessplot avatar Nov 08 '24 12:11 plotlessplot

+1 as well. This would help a lot. It's hard to manage current packages, update them and so on.

pvsmartinez avatar Nov 26 '24 14:11 pvsmartinez

Just bumping this.

Internally we have a script that downloads, repacks and publishes as a Unity UPM package from those tgz files that Google provides. It is an extra step that is no longer necessary with the EDM4U for instance, as mentioned above.

daltonbr avatar Apr 23 '25 12:04 daltonbr

Still no update about it. We're using our public bitbucket atm; but updating the packages takes time. And also, there's a LFS problem, because some of the dll files bigger than 100 MB (which is I think odd and unnecessary).

TeorikDeli avatar May 09 '25 09:05 TeorikDeli

This feature is absolutely necessary. It is very easy and fast to implement. This makes it very quick and easy for all users to integrate Unity and Firebase. There is no reason not to work on it right now.

LitQoo avatar Jul 25 '25 07:07 LitQoo