modesttree / Projeny

A project and package manager for Unity
MIT License
692 stars 87 forks source link

Projeny and ForceAssetsDirectory w/Google's Firebase #80

Open dugsteen opened 6 years ago

dugsteen commented 6 years ago

I am very happy with Projeny and don't want to lose it. However, I also need to integrate the Firebase SDK (instructions here: https://firebase.google.com/docs/unity/setup). I tried to pull all of the Firebase additions into a shared Projeny package, as I've done with other 3rd-party packages, but Google doesn't like to play by the rules (because it doesn't have to, I guess) so their Firebase SDKs differ from the SDKs which mere mortals may create:

As I see it, there are a few possible ways to handle these discrepancies:

  1. Rework Projeny so that it allows a direct install to the root Assets folder, similar to what ForceAssetsDirectory does, but without adding "PackageName" to the path, e.g. ForceRootDirectory.
  2. Figure out some way of cramming all of the Google stuff into one or more packages and using ForceAssetsDirectory so that everything goes into the right place. Unfortunately, since ForceAssetsDirectory uses the name of the package, there would be no way of separating out the various Firebase packages, since they all have to go into the "Firebase" directory and thus all would have to be in a Projeny package named "Firebase".
  3. Give up and just expect to import Firebase manually on any given project. This of course runs contrary to the whole reason I'm using Projeny in the first place.

At this point, I think I'll be able to get something to work. I'd far prefer #1, but of course that requires your involvement. Any thoughts or suggestions would be welcome.

dugsteen commented 6 years ago

The same thing is now happening with the latest paid version of TextMesh Pro. The Facebook package has the same problem.

Since the issue arises with packages which require internal parts to have specific path placement, and since the core of Projeny's design requires directory linking, I wonder if a solution is even possible. Any thoughts or ideas would be welcome. Thanks.