Watches

The whole idea of the Debugger is to permit you to "watch" every detail of your game. This is done using "watch windows" which, by default, are opened in The Output Window docked at the bottom of the IDE. You can click on each of the different tabs to see the watches that they contain, some of which can be made to update in real time (when real time debugging Real Time Debug Icon is enabled from the Debugger toolbar) while others will require the debugger to have paused the game.

When you're watching variables in any of the windows, they can be one of multiple data types. For a couple of them GameMaker is able to provide more information about the variable's contents (its members or entries): instances, structs, arrays and data structures. In this case the debugger shows a small Expand Debug Icon icon next to the variable name. Clicking it will expand the structure's contents, and you can also change some of the values for the variables shown by simply double clicking LMB Icon on the value and giving it a new one.

NOTE You cannot re-assign arrays or data structures in this way, but you can change some of their contents (you cannot change the "key" values in maps, nor the priority value for priority queues).

Below you can find a list of each of the different watch windows along with an explanation of what they are for and how to use them:

Locals

Globals

Watches

Instance

All Instances

Selected Instance

Render States

Surfaces / Textures

Profile

Buffer