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.
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:
- 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.
- 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.
- 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.
Our Steamworks integration is open source and supports leaderboards, achievements, Steam Cloud, and various other Steamworks 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.
There are more open source GameMaker extensions that we’ve released:
- Microsoft GDK: Make use of Xbox Live services when publishing games on the Microsoft Store and on Xbox Game Pass for PC.
- Google Play Services: When publishing on Android, make use of Google Play Services such as achievements, leaderboards, and cloud saves
- GOG Extension: Make use of GOG’s social services when distributing on that platform
- Firebase: Use Firebase services such as cloud notifications, analytics, crashlytics, databases, and more.
- WebView: Display web pages directly inside an Android or iOS application.
- …and more, such as AdMob, Google Play Billing, GameJolt, and Apple IAPs
Some extensions are coming to GitHub soon:
- Apple GameCenter
- Apple Sign In
- Google Play Licensing
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:
Select a release and download the .yymps file given at the bottom:
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 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.