Skip to content

Projeny and ForceAssetsDirectory w/Google's Firebase #80

Open
@dugsteen

Description

@dugsteen

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:

  • Rather than making their packages available in the Asset Store, you have to import them manually. This means the normal "Update" but don't "Import" process won't work; I have to add them to a "Releases" area myself.
  • They have multiple packages (Authentication, Remote Config, Analytics, etc) with overlapping shared folders/dlls. This works fine if you're going to install normally, but it means the Firebase unity packages can't be easily separated into different Projeny packages because you'll end up with multiple copies of the shared stuff.
  • The packages' internal scripts require that the package code & files be placed in several specially-named folders (Firebase, Parse, PlayServicesResolver) directly under the root Asset folder.

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions