❗0.12 Upgrade Guide
Please check these topics if you're migrating an older project into 0.12 as these changes could specifically impact how your game works.
Game Maker 0.12 updates the Heads Up Display system in a way that may require significant edits to your projects, as well as optional outline on interactive objects which might change the way you want to present or hide objects. There are many other new features and small improvements that you may want to employ in your older projects which you can check out in the full change log.
First off, where did “Edit Properties” go? Everyone rejoice, Edit Logic is gone! No longer do you need to press this button to see a couple more essential settings over and over again. All behavior and component options are visible in the Properties Panel by default.

📜 Legacy Projects
When you open a project from 0.11 or earlier in 0.12, you will notice a “Legacy” icon after the experience name at the top of the Game Maker. Starting with 0.12, new experiences must declare if they are Multiplayer or Singleplayer at the start of a project, and this cannot be changed later.

This is to help guide your design options in a way that’s best compatible with the features you need. Older projects with the Legacy label can be published as Singleplayer or Multiplayer.
🔇 Streaming Audio Legacy
The Sandbox has upgraded to AAA audio engine WWise! Unfortunately that means the old Audio Streaming behavior is being discontinued. Legacy experiences that use Audio Streaming will still work for now, but new experiences will not be able to add the behavior. Over 2,500 sound effect and music tracks are now available from the Play Sound component. Learn more about the WWise update in the full changelog.
⭕ Brand New: Outline Component
A new feature in The Sandbox are glowing outlines around objects you can interact with, or any object your add the new Outline component to.
However, this outline is now applied automatically to the behaviors Door and Button, and the components Pickable, Power Up, and Collectible.
This could potentially change the visual style of your game, or make objects that are supposed to be hidden stand out very brightly.

If you want to disable the automatic glow, add the Outline component to the affected objects, and simply toggle off “Enabled at Start”. With no other messages defined to activate the glowing outline, objects will look the way you expected in previous versions.
Learn more about how you can control the new Outline Component in the full changelog.

🏃 New & Improved NPCs
There are significant new capabilities for defining the behavior of Non-Player Characters in your experiences. A single character can now perform all of the old friendly NPC mechanics. They can also path-find and collide correctly with multiplayer synchronization! This may change how you want to use NPCs in Multiplayer. Learn how to use all the new NPC features in the changelog.
For now, legacy NPC behaviors are still usable in experiences originally made before 0.12, but no legacy NPCs can be created in new 0.12 projects - except for Soldier and Melee Enemy, only in Single Player experiences.
We recommending upgrading all your NPCs to the new system. It’s not clear yet how long the legacy NPCs will remain supported in the Game Maker.

⏱️ HUD (Heads Up Display)
There is a totally revamped HUD system. If you used the HUD rule in your legacy experience, you will be greeted with this message when you open the Gameplay tab for the first time:

This means that your old HUD rules have been converted into the new system, but you’ll need to check that things work correctly as there are some big changes and depending on how you set up your old HUDs, you’ll need to adjust the conversion.
In the old HUD system, a Rule would set up a view of 1 to 11 variables. Any time you wanted to change any of the 11 variable positions to a different style, turn the variable visibility on or off, or change what variable is shown, you’d need a new rule. This could become a very complex task involving dozens of rules depending on how busy your HUD needed to be.
The new HUD Editor will let you more easily control and visualize multiple layouts needed to display variables in your game. From the top right corner you can set whether these will display as squares or diamonds, which is a global setting across all HUDs.
Widgets are now what we call each of the 11 variable spots on the HUD.

Click the button at the top left corner of the HUD editor to see all HUDs in the project and manage them. A Parent HUD is the general layout, while a Child HUD can easily toggle visibility of each Widget of the Parent HUD.
Use the top + button to add more Parents, and hover your mouse over a parent to display the + button to add more Children.
Right clicking on a HUD will allow you to duplicate, rename, or delete a HUD Parent or Child. Note that duplicating a Parent will not duplicate its Children, and Children cannot be moved to another Parent.
With your migrated project you will see a new parent HUD for every HUD rule you had before. This might be a bit overwhelming, but try to find the one that had the most variable features on, and create new children to turn variables on or off as needed. Any similar parent HUDs with missing children can be deleted.

Using the newly simplified Game Screen HUD Rule, you can switch to the selected Parent or Child Hud with a message.
At this point you might not be seeing much savings with rule complexity yet. The real change comes with the new States styling controls. We’re getting there, but first let’s see how Widgets are set up.

To place a Widget on the HUD, click the + in the position you want it to go, and a window will pop up to guide you through the Widget creation process.
Widgets come in three styles:
Progress Bar and Icon with variable display name and value
Icon only with variable display name and value
No icon, only variable display name and value
Click Next once you pick the style.

Now set the display name, widget size, and widget icon, as well as what variable is being displayed. These settings work the same as in 0.11, they are just in a new location. See More


Now set the display name, widget size, and widget icon, as well as what variable is being displayed. These settings work the same as in 0.11, they are just in a new location. See More

And the Variable to be shown by the widget, how the value is displayed (value only, percentage, value out of a max, etc.) and the soft limits on these values. See More
Now for States! These will really save the number of rules needed to make a fancy HUD. No longer do you need to run a bunch of comparisons to see if a number is more, less, or equal to send different messages and change the way a variable is displayed. You can declare multiple states as well as multiple ranges in which that state can be applied.

For instance, if you want players to balance a number between two extremes, you can set a Critical state with a minimum of 0% - 5% and an extra range of 95% - 100%. Then a Warning state for 5% - 20% and 80% - 95%. And finally a Positive state from 20% - 80%. This will cause the Widget to be green when in the middle and go from yellow to red when the number falls in too high or low of a percentage.
States are also available for Text and True/False variables, by comparing if they match a specific value or another variable.

Before this setup would take many rules comparing values and triggering HUD changes. Now no extra rules are needed once the HUD containing this widget is being displayed!
Once all your Widgets are set up in the Parent HUD, you can double click the Children HUDs and toggle the visibility of Widgets on or off to set up exactly what the player needs to see at different stages of the game.


There’s lot’s of other new features in 0.12, so be sure to check out the full changelog for more ways you can upgrade your legacy experiences!
Last updated
Was this helpful?