The Unity HUB is basically useless for some of us because it’s really badly made.
If you allow me the crack-joke, it’s Fallout76-like quality made.
Basically, the most broken part of it is that it’s unable to hold and manage packages properly.
• If your connection fluctuate, the download fails 1 package and it stop, the download fails.
• If your download speed isn’t on par with the Unity server, a single package lost, the download fails.
• If your anti-virus analyse anything a tad too much, the download fails.
• If you’re using a HDD and it takes a tiny bit of time to write the data (even at 10,000RPM), the download fails.
The solution is actually quite simple and has been known by Unity since day 1 of the release of Beta HUB.
The solution:
Build a proper package management that can locate missing package and requests packages individually from the server as well as properly caching them when something goes wrong so that it can be resumed afterward. This what is done with the Installer version and this is why almost nobody have any issues with using the Installers.
The reason that was given why the HUB wasn’t done the same way as the Installers is to reduce the stress on Unity file’s server. In other word, no practical reason for the user. But because the HUB fails miserably for many users, Unity is forced to keep the Installer around or they would loose quite a big chunk of their users in a single night. hence the original reason is foolish and useless at this point.
The team is supposed to be working on adding a proper package management and I have seen it being pointed out since the early stage of HUB. We’ll know when it will be done by having a “Pause” and “Resume” button added to the downloads in the HUB. (This is a proof that the download is properly cached and its package are identified because, when pause, the connection is severed and resumed when unpaused which then check what has been done and what remains. This also works at overcoming the problems (points) above.)
The 2 temporary solutions until the download manager of the HUB is fixed (which might never happens) are as following:
1) Give links toward the right external packages that properly works with unity.
You don’t even have to add any stress on the server. Just point out the proper procedure to get everything when not from Unity itself nor the HUB. For example, where do we get the Android SDK and NDK that works with Unity 2019.x The SDK is well documented on the forum, but the NDK is still a mystery of tries and error done by the users where a simple message from an Unity devs stating “Hey guys, this is the link to download the right NDK from the Android website” would even do it. But no, it’s total silence because you keep promoting the useless Unity HUB.
2) Add it to the Android packages from the Installer.
Currently, the Android package downloaded from the Installer only contains the JDK. It doesn’t contain the SDK which can be downloaded via the Android Studio nor the NDK which is version sensitive such as you can’t 99.99% of the ones available and must track down 1 that works. By the way, each NDK is approx. 700MB in size which means you got download about 100GB worth of NDK and only 1 or 2 of them will work. Really practical, right?
I’m sorry if I sound negative in this post, but let me explain to you what I have lived through for the last week:
• Trying to build an Android APK with mono backend (doesn’t requires the Android NDK) results in missing codes being stripped from the build. It’s the result of the limitation from CiL being unable to properly convert complex switch() statements. The solution is to build with il2cpp backend and force-reduce the stripping. To build with il2cpp backend, you need the Android NDK.
• I tried many things with Mono backend, but all failed.
• I tried to get multiple version of the NDK around the forum said to work. None does with neither 2019.2f0 nor 2019.2.6f1. The one I had worked with 2018.x, but not with 2019.x
• Unless some magic happens in the next 6 hours, I’m missing the GDWC 2019 even if I was done with my project 1 week ago. All that because of the fact that the HUB doesn’t work for me.
• I’m also working for some customers as a Graphic designer and I have been squeezing my time so much I barely sleep 4 hours/day. All because I wanted to be done for the GDWC 2019 with this project on which I have worked for 2 months non-stop.
I really though about shooting myself yesterday when I had to face the fact that it’s quasi-impossible for me to build my game properly and that’s the fault of whoever though it would be a good idea to make Unity HUB as it’s currently is. I have invested everything on this project of mine and all it requires is a proper build now.
I’m quoting your answer because that actually enraged me.
That answer you gave is what makes me highly think of uninstalling Unity and simply use Unreal which, currently, has a proper download manager, works wonderfully with Android (with a bit of work) and on which I have yet to face the kind of issues I have faced with Unity. I have been using Unity for the last 5 years and, for all this time, I usually though and respected the team behind it, but you, I don’t respect you because your answer points out as the exact answer from the typical “answer-by-the-sheet” customer service pion that work in a IT center that shrug their shoulder when something in the system they are representing simply doesn’t work as it should.
I said my piece and now I’m back at trying to fix the damn thing that got broken because of the Unity HUB limitation.