The move to a 64-bit Android world is imminent, and we at Unity believe that it’s a good thing! We added support for Android 64-bit with Unity 2018.2, and we have now backported it to Unity 2017.4. Read on to get more details on Google’s 64-bit requirement, ARM 64-bit advantages, and Android App Bundle support in Unity.
The 64-bit architecture isn’t new in the Android world with Lollipop (v5.0) in 2014 being the first to support. While Android Pie (v9.0) still supports 32 and 64-bit, it’s the first version allowing for building 64-bit only systems. ARM’s data shows that more than 80% of devices shipping today are 64 & 32-bit capable.
Google provided detailed information and timelines to be ready for the 64-bit requirement confirming that starting 1st of August 2019, all new apps and app updates that include native code are required to provide 64-bit versions in addition to 32-bit versions when publishing to Google Play. Note that Google Play gives an extension for existing games that use Unity 5.6.6 or older until August 2021, but starting August 1, 2021, Google Play will stop serving apps without 64-bit versions on 64-bit capable devices. Go read the details on Google’s Developers Blog.
ARM 64-bit offers several advantages like enhanced security, better performance, larger addressable memory, greater numeric precision, and a richer instruction set.
We added support for Android 64-bit in Unity 2018.2, and in the spirit of Long Term Support (LTS) we have now backported it to Unity 2017.4 which will be supported until March 2020, so you can stay on the most stable version of Unity while taking advantage of 64-bit benefits and comply with Google Play store in August 2019. You can get ARM 64-bit now, starting with Unity 2017.4.16f1.
We’ve heard concerns from you about the increased size of your APK when it includes both the 32 & 64-bit binaries, or the added complexity to generate multiple APKs.
To solve this, Unity 2018.3 has support for Android App Bundle, which is a new upload format that includes all of the compiled code and resources of your app, but defers APK generation and signing to Google Play.
We’ve also backported App Bundle support to Unity 2017.4 LTS, available starting with version 2017.4.17.
For more information about 64-bit capable devices, check out ARM’s white paper “64-bit Computing for Mobile” and watch Droidcon SF 2018 session by David Whaley “Moving with the Android ecosystem towards a 64-bit r-Evolution”.
While we added support for Android ARM 64-bit, we also reviewed the usage of Android x86. Limited x86 Android devices were introduced to the market which has resulted in minimal adoption of Unity’s x86 Android support. Android x86 support will be deprecated in 2019.2 and removed entirely in Unity 2019.3. Support for Android x86 will continue in Unity 2018 and 2018 LTS for the remainder of their life cycle.