A simple demonstration of how to make pause screens and suspend gameplay which works best for the application_surface drawing method found in GameMaker: Studio 1.3+.
Shows a "clean" background-only look, a "gameplay snapshot" look, plus a method where you save the application_surface to a sprite and then draw the sprite instead - all of them without leaving the current game room. Also shows how you can spawn pause overlay objects to handle unpausing or other menu actions.
Works in windowed and fullscreen displays, on mobiles and on JavaScript platforms - it even shows you how to pause automatically on Xbox One when the player presses the home button. Comments have been added to highlight where you might expect per-platform quirks.
End User Licence Agreement (EULA).
In-game buttons for navigating between rooms (useful for mobile demoing). Extra line to the documentation to point out the need for 1.4.1577+.