GameMaker Open Source Extensions


GameMaker Open Source Extensions

We’ve recently released some open-source extensions for GameMaker. Each extension’s source is available on GitHub for you to view, build, and contribute changes.

Let’s look at some recent open source extensions, before answering some frequently asked questions.

H5 Games Ads (Beta)

Google’s H5 Games Ads solution lets you monetise your HTML5 games with premium ads. Use our open source extension to add H5 Games Ads to your games easily.

H5 Games Ads banner

Join the H5 Games Ads beta on the Google website

The extension allows you to display interstitials at natural breaks in your game, such as between levels. It also allows for rewarded ads so players can watch ads to earn in-game rewards.

H5 ads can be displayed in various scenarios where your game can be run, such as running it directly, embedding it into an iframe, or running it within an app’s WebView (Android only).

Download H5 Games Ads on the releases page (get the .yymps file) and follow its set-up guide.

You can learn more about these ads and how to use them effectively in our guide to monetising your indie games.

Benefits of Open Sourcing

There are advantages to code being open sourced, as we previously highlighted when the HTML5 runtime was open sourced:

  1. It lets you look behind the curtain, and understand how the code you’re using works. This allows you to use a library in a more efficient manner as you understand its inner workings.
  2. The team at GameMaker is always working to improve extensions. In addition to that, having access to the source allows you to make your own fixes and updates to an extension.
  3. You can build your own version of an extension with custom changes to suit your project’s needs. Later, you can submit these changes as pull requests, so other developers can benefit from your work.

Steamworks

Our Steamworks integration is open source and supports leaderboards, achievements, Steam Cloud, and various other Steamworks services.

Steamwork services

This extension has recently received new feature updates such as social functions, inventory support, networking, and Steam Input.

Grab the Steamworks extension on its releases page and follow its documentation.

Epic Online Services (Beta)

If you’re distributing your game on the Epic Store, this extension is essential.

It gives you access to Epic Games services such as achievements, authentication, leaderboards, data storage, and more.

Grab a release and follow the documentation to add Epic Online Services to your game.

More Extensions

There are more open source GameMaker extensions that we’ve released:

Some extensions are coming to GitHub soon:

  • Apple GameCenter
  • Apple Sign In
  • Google Play Licensing
  • MobileReview
  • Facebook

To stay updated with the latest open source extensions for GameMaker, follow this thread on the GameMaker Community.

Frequently Asked Questions

How can I download and install an extension?
On an extension’s GitHub page, you will find the Releases section on the right sidebar:

GitHub location for Releases

Select a release and download the .yymps file given at the bottom:

Download location for new Releases

With GameMaker open, drag the .yymps file into your GameMaker window, or select the Tools -> Import Local Package option.

In the window that opens, select “Add All” and then “Import”:

How to add package resources

How can I submit a bug report or a feature request?
Submit it as an issue on the “Issues” page of the repository.

How can I contribute my own fixes and changes?
Create a fork from the repository and make your changes there. Once your changes are ready, create a Pull Request to merge your fork into the original repository.

What is the licence of the source code for these extensions?
All our extension repositories are released under the Apache 2.0 licence.

Happy GameMaking!


Written by Gurpreet S. Matharoo

Lead Technical Writer at GameMaker, Gurpreet creates documentation and tutorials to make game making easier for you. He loves using the computer to bring new things to life, whether it's games, digital art, or Metal music.