0
\$\begingroup\$

I'm using Firebase services in a custom plugin that will be released later, Should I include all 3rd party libraries like Firebase on the final plugin package or is there another way to handle this in unity ?

\$\endgroup\$
2
  • \$\begingroup\$ How do you intend to distribute your plugin? \$\endgroup\$
    – Kevin
    Commented May 24, 2021 at 21:48
  • \$\begingroup\$ Unity's Asset Store for starters. \$\endgroup\$
    – darksphere
    Commented May 24, 2021 at 21:51

1 Answer 1

2
\$\begingroup\$

There are several reasons why I don't like it when third-party DLLs are included in plugins:

  1. There may be copyright/legal issues; does the 3rd-party library (Firebase in this case) allow you to include their DLLs in your plugin?
  2. If the 3rd-party library is updated after you release your plugin, the DLL files in your plugin will be out of date until you update your plugin.
  3. End users may encounter conflicts if they import multiple plugins which use conflicting versions of the 3rd-party library (e.g. your plugin embeds Firebase 7.2.0 and some other plugin embeds Firebase 6.9.0).
  4. If the DLLs are large, they may bloat the plugin (increase the download size).

As with most things, there are exceptions. For example, if the third party library was no longer maintained and updated, you wouldn't need to worry about the embedded version becoming out of date. However, Firebase is updated regularly, so that exception doesn't apply here.

The downsides to not including the third-party library are more minor:

  • There will be a little extra setup for users who install your plugin
  • Major changes to the 3rd-party library may break your plugin, causing headaches for your users. This can be partially mitigated by including a disclaimer in your installation notes, e.g.:

We officially support Firebase versions up to x.y.z. Newer versions of the Firebase plugin may still be compatible, but please test them thoroughly before shipping your game. If you discover a compatibility issue with a new version of Firebase, please contact us at (email address).

\$\endgroup\$
2
  • \$\begingroup\$ Thank you Kevin! \$\endgroup\$
    – darksphere
    Commented May 24, 2021 at 22:45
  • \$\begingroup\$ @darksphere Glad to help! \$\endgroup\$
    – Kevin
    Commented May 24, 2021 at 22:45

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .