Easy Pause System provides a nice and simple way of adding a pause system to your game.
Supports Shaders and Transparent Overlays. It's fully commented to allow it to be used quickly and modified for your specific needs in less than an hour.
How does it work?
Easy Pause System uses the application surface present in the latest versions of GameMaker : Studio in order to capture an accurate representation of the screen at the moment the game is paused and then stops any instances you like from executing their code.
Once that's done you can do whatever you like. Create button instances or allow another controller to make a menu. For the most simple purposes you might just want to draw "PAUSED" on the screen and the comments guide you through exactly where to place this code.
Easy Pause System ships with a simple grey scale shader.