Since the full release notes aren’t available as of this post, and 4.9 Preview 1 is available now, I wanted to let everyone know about a breaking change in 4.9 regarding login to Google Play Games services. For those of you following the GitHub master branch, the change is in this commit.
Most of these changes also apply to Game Center on iOS, so for any iOS specific issues, please refer to this thread.
Up through 4.8, the Google Play online subsystem (if enabled) would automatically start the login process, and potentially show the Google login UI, during engine startup - the game had no way of controlling when the UI came up, and in addition, it was causing timing issues that we had to work around in the engine.
To address these problems, in 4.9 the Google Play sign-in process and login UI is no longer triggered automatically at startup. We have implemented the IOnlineExternalUI::ShowLoginUI function for Google Play and added a new Blueprint node, “Show External Login UI”, which wraps this function. The existing “Connect to Service” node has been deprecated and we encourage everyone to switch to using “Show External Login UI” in their Blueprints. This returns control of the login process and UI to the game, so you’re free to activate it at a time that’s appropriate for you. Many games will be able to call it during a BeginPlay event - this will be after the engine has been initialized and any startup movie has finished playing.
In addition, we have implemented IOnlineIdentity::Logout for Google Play, and exposed “Logout” and “Is Logged In” Blueprint nodes. Using these, it should now be possible to implement a sign-in/sign-out button, as recommended by Google’s quality checklist.
Feel free to post any feedback about these changes here - though for specific bug reports, please post them on AnswerHub!