Packages are awesome. Anyone programming in Unity is a fool if they’re not first checking to see if some pre-existing assets exist that they can leverage and use. (Not just Unity, of course, every platform offers bundles, packages, etc. and should be used)
But the Unity Package Manager is difficult for a few reasons.
First, it’s effectively closed. The license agreement to even use the package manager say you can only see packages through the web interface. That might be okay, but it’s a fairly large ecosystem (Over 11,000 5-star assets!") with a substandard interface. The “Quick Look” is okay, but it doesn’t tell you enough important details. The detailed look is so SLOOOOOW. And still requires a click to add it to “My Assets”, then another click to say, no, I don’t want to open this in Unity, because that doesn’t even work, I want to get back to browsing available packages.
Disclosure: I live in rural Virginia (USA), and have 3mps DSL. And I’m lucky, because some of my neighbors have nothing. No internet. Yeah, hard to believe. But 3mps is painfully slow, and I don’t think anyone from Unity has ever suffered through slow internet. Which brings me to my second point.
The Asset Manager within Unity is HORRIBLE on a slow connection. Because it’s internet first, when I open the package manager, it waits for about 45 seconds before showing me anything. No caching, no checking what I already have installed (I literally have to drive to a somewhere with a faster internet in order to download any packages bigger than 20M, so I’d like Unity to check those first!) Yeah, I’m sure this is a great, always-current design if you have fast internet, but it’s insufferable if you don’t. And it’s so unnecessary to cause that pain. Simply checking the local directory of packages, then updating the UI after would be a huge help. That is, if I’ve download a package already, when I create a new project, I want to get to it and install it ASAP, without the internet. I’m hacking manifest.json just to avoid this pain right now.
But I LOVE packages! I want to research everything that’s out there (especially the free ones) before trying to roll my own. Since searching via the web is so slow, I started to set up a scraping tool that would simply download the descriptions of all the packages, so I could create my own local search. Not the package source code, not trying to steal packages I haven’t bought, just the publicly available information ABOUT the packages – what they do, what version they supports, how big they are, etc. But license agreement to use the asset store explicitly excludes scraping! So because I’m a rule-follower, I stopped doing that.
I’m flummoxed. I love Unity, I want to use more packages, but I basically can’t because I have a slow connection and there’s no great way to be a Unity developer without always having fast internet.
Questions for Unity folks or fans: Why does the license agreement exclude scraping? Wouldn’t ANYTHING that promotes a package be beneficial for the publisher? Doesn’t the current system discourage people from going through the work of publishing a package? I have to think that most packages are never even seen by developers, let alone purchased.
End of rant.
I really like Unity, I think the Package Manager/Asset Store has tremendous potential. I’m not able to fully utilize it, and would like to. My rant is borne of frustration, not lack of affection.
Thanks for reading.
Tac