In the coming Early Access update support for the following 3rd party API's will be getting removed from the GameMaker: Studio runner and added to the Marketplace as extensions, across all platforms that support them:
- Google Play
- Google APK Expansions
- Google Licensing
Note too that with this change the way that you add ads and analytics to your game has also been updated. Here we explain what this means for you and how to use the new system.
Why The Change?
These changes were made to enable faster updating of the core APIs and SDKs as the companies that produce them add new features and change how they work. The current method of having them integrated within the GameMaker: Studio IDE means that when one has been changed, you would have to wait for a full update to GameMaker to get the fix, which can sometimes be several weeks. Now, however, with this change to an extension based system, these updates can be pushed out far quicker for you to download and integrate into your game, and you can get examples of use direct from the Marketplace.
Another benefit of this change is that you can now add your own custom functions to the extensions. For example, if there is a part of the Facebook API that the GameMaker functions do not cover then you can open the folder where the extension is kept (right click on the extension then select "Open in explorer") and edit it to add your own extended functionality.
NOTE: Adding extra functionality should be done with care as future updates to the API may overwrite those changes you make, so keep a backup!
Do I Need To Change My Code?
While you will be required to perform a couple of extra steps to get Facebook, et-al functionality into your projects, you do not need to worry about changing your code. The extensions do not have any functions associated with them, and they simply hook into the existing GameMaker function calls. So, if you have a call to facebook_status() in your game, it will still work as long as you have added the extension to the project. The same is true for the Google Play/Amazon achievements and high scores, as well as for gamepad support via Moga - all the built in functions will "just work" as long as the extension is installed.
Getting The Extensions
Getting the extensions requires you to have created your YoYo Account, as they are now hosted from the GameMaker: Marketplace. If you do not have a YoYo Account yet, please see the articles on how to set one up here: YoYo Account FAQ.
To actually get the extension, you must first activate the service required from the Android Global Game Settings by checking the appropriate box. For example, to get Moga support, you would open the Android GGS and go to the "General" tab and then click the "Moga Gamepad Support" check-box. This will then prompt you to download the extension required from the Marketplace.
Clicking "Yes" will then open your library and automatically filter the appropriate asset to be added. If you have not used the extension previously, then you will need to download it to be stored locally on your machine, and then click on the "Add To Project" button for the extension to be added.
You can then close the library window as well as the Global Game settings and continue to work on your game as before.
Ads And Analytics
Ads and analytics have also been updated to this new system to provide you with a better workflow when using them. You can find more information on this from the following Knowledge Base articles: