Download

Enable iOS Game Center in Next Update - Questions

Hello Unreal Forums,

These are very iOS specific questions (and yes I have posted this to the app dev forums). Just wondering if anyone has insight on Game Center and UDK in these forums so any answer to these questions would be awesome.

==============================================================================================================

I have recently released my application Steelbound Sky unto the app store. It used a Provision which used an App Id which did had Game Center disabled.

After feedback I’ve decided I want to add Achievements and Leader boards via Game Center in the next update.

First Question.

Is it possible to UPDATE my App to enable/put in Game Center features?

Second Question

For this to work do I use a new App ID, but keep the same bundle ID to create the new IPK file for the update? As an example, let’s say my current Bundle id is

“com.game”

As listed in iTunes Connect. For my first release I used a provision which used this text for the App ID

“com.game*”

Notice the * at the end. This * is not allowed for an App ID which wants game centers enabled, which is why I a assumed I would need a new App ID but with the same bundle id. (being com.game without the Astrix)

Third Question

I have added several Achievements to my App in iTunes connect. I have noticed they all have the status “Not Live”. What does that mean?

Fourth Question

What would be the process required to test that achievements are working? I’m aware UDK has API to access Game Center, and I’ve implemented an Achievement Handler has started here:

https://udn.epicgames.com/Three/GameCenter.html

Am I able to test my newly added achievements by using a development profile? Ie, currently I am able to install IPKs unto iOS devices using a development profile using UDK.

Or is there some sort of rule where I have to upload a binary to iTunes Connect first to get in sync with the achievements, then test that newly uploaded binary. Note, I do not have a Mac. (I had to go to a library several times last time to upload my first binary on a mac)

Fifth Question

How does the flow of Game Center work with a game? Reason is, on the UDK instructions (as linked in this question above) there was NO information regarding logging in. So does that mean if I try to use the Game Center UDK API, will a pop up appear asking a user to log in? Or is the user meant to be logged in already into game center?

Thankyou.

To update those who might need help with this question, yes UDK Game Center seems to be working with the current version of iOS.

Before my identifier was com.game* , but when wanting Game Center enabled the * (astrix) must be removed and a separate development profile must be used. so instead of “com.game*” it is “com.game” at least for a a development profile. (Let’s be honest the App developer system is terribly fragmented and overly complicated)

I installed my latest binary using FrontEnd without any Mac Computer. I just added achievements/leaderboards via a my browser using iTunes Connect.

The culprit was that I needed to turn on “Sandbox” mode in the iOS device settings for Game Center. This then had an updated set of achievement information, which will be updated whenever you change the achievements/leaderboards in game center.

The status is still “Not Live” but I suspect when I upload a new binary it will be changed to “Live” or something.

While I have not uploaded a new binary to test if an update will then enable game center for end users, I can say devs can at least test Game Center features without a mac. This is the current flow I am using to test Game Center.

As long as users are logged into Game Center prior, the app should welcome you with a “Welcome Back User” or ask you to log in. If you don’t log in then it won’t allow you to view leaderboards etc.

If an Achivement or Score is unlocked when not online, UDK still does a good job in updating the Game Center later when it reconnects, as stated in the official Game Center UDK Document.

I did have issues with the recommended code in here https://udn.epicgames.com/Three/GameCenter.html .

The issue with the code is the function InternalOnReadAchievementsComplete. Particularly this set here:

So in this code, if an achievement was ALREADY complete online, then the flag ProcessingAchievements would still be true. So any Achievement conditions completed after this particular scenario would fail and the achievement would not be recorded. So you will have to repeat **some ** of the cleanup code in the function InternalOnUnlockAchievementComplete to properly clear that achivment attempt.
Just a heads up in case people are having problems with achievements and the recommended code.

Hopefully I will be able to get this all working in my next game update.