Wednesday, July 17, 2019

Publishing with 64-bit capability from Unity/3D to Google Play

From August 1, all new apps and updates that include native code are required to provide 64-bit versions in addition to 32-bit versions when publishing to Google Play.

Google now also recommends a new package file format, Android App Bundle (aab), instead of the usual packages (apk), when uploading to Google Play.

I found it hard to find documentation on exactly how to do the uploading from Unity/3D.

After some trial and error these were my settings.

Build settings:

(aab instead of apk)

Player settings/other settings:

IL2CPP has to be chosen instead of Mono. ARM64 must be checked. x86 has been deprecated from version 2019.2.2.

API-level has to be at least 21. If you can't set the API-level (common error reported in the Unity forums) try changing API compatibility level and then change it back. It worked for me.

I hope this can be of help to someone. Please comment if you think I missed something.

Publishing pain

A week ago I was ready to publish the second beta-version of K2 Story. After an intense balancing and test period I was finally ready to try to get more people to look at my game again.

I know that publishing to the App Store and to Google Play always is a challenge. I have done it a couple of times now and I know it requires patience and courage. Mostly it takes three times the time you have planned for it. Mostly it is a total pain.

App Store first: Build from Unity/3D goes fine. I have checklists and notes from previous attempts. Open Xcode and try to connect my iPhone to it. Get a warning that my iPhone has an OS that is newer than my Xcode version. Ok. I have to upgrade Xcode to version 10.2. No problem.

Well - there is a problem... The next higher Xcode version requires Mojave which is the next Mac OS version. I never use Xcode for anything else than building for iOS but now I have to upgrade the OS on my Mac because of that. Ok. No problem.

Well - there is a problem... My old MacBook Pro workhorse can't be upgraded to Mojave.

After buying new hardware, upgrading and installing all my software, I am back to square one. Delayed by about a week.

In the mean time I have tried to publish a new version of another game on Android. Should not be a big thing. But Google Play suddenly requires you to only publish apps or new versions of apps with 64-bit capability. Ok. No problem. Unity should be able to export a 64-bit version.

Well - there is a problem... There are no real instructions on how to set the export parameters in Unity for 64-bit correctly. When googling - there is a lot of confusion on how this should be done. I also get a lot of different errors when trying to export with different recommended settings. Also Google Play now recommends a totally new package file format which I have never used before.

And this is how it goes. Making a game is hard. Getting it out on App Store and Google Play is a pain. Usually you have forgot to change some little flag in some XML file so you get rejected and have to submit again. Or you have forgot to submit some little extra icon in a certain resolution that is absolutely required for the app to go through the review. Or there is something about the privacy policy or terms or conditions that has to be changed.

There is also the matter of the delay in feedback from Google and Apple. With the time difference to Sweden, each iteration usually takes at least two days.

But I guess it is just part of the fun...