The Pause Extension is designed to supply you with an easy to use pause feature - Something that GameMaker:Studio lacks by default.

Normally, pausing can work quite differently depending on your project - For example, if it uses views or not, if it's in 2D or 3D, uses physics or not, or if you have the application_surface enabled or disabled. This pause extension has taken all that into account, so it works for any GM:Studio project.


  • Pauses any game project
  • Works for any device (PC, Mobile, HTML, etc)
  • Easy to implement

End User Licence Agreement (EULA).

Changes in 1.0.3

  • Added an example project to Included Files
  • Minor changes

Version 1.0.3. Published November 2, 2014

Created with GameMaker: Studio v1.4.1451

Age Rating: 4+

Average Rating

Your review

You can only review assets you've bought.


Daniel J 20 February 2017

Works perfectly!

Just what I needed, thank you so much!


Richárd M 04 February 2017

Just perfect!

Well to be honest i'm guite on a low level of programming but i was able to set up this extansion in a few minutes. The code is nice and clear and even I can understand the most of it. My only problem is somewhy when i pause the screenshot is much smaller then the actuall application... Even though it's probably because of my mistake. Tottaly worth 5 stars and it's FREEEEE


Eduardo B 15 August 2016

Just works!

I just threw it into my project and it just seems to work! I don't know what kind of sorcery this is but, color me amazed. Thank you so much for this extensions. It is cleanly written in such a way that, if I ever have any problems with it, I am confident I will be able to modify the extension to my liking.

Once again, thank you immensely. Highly recommended.


Lombardo M 01 August 2016


I was having some troubles with this on Android, and I contacted the owner of this extension and he/she helped me very quickly. The replies are fast and he/she helped me with 2 issues that I was having. But now it works perfectly


- L98


Happy Panda Games (Publisher) 29 July 2016

Hi, it's easier to provide personal assistance via email.
Since you did not explain in what way it behaves strangely, all I can do is to try to explain the differences between pausing with the application surface enabled/disabled. Anything beyond that is most likely caused by something in your project that I can only assist with via email.

**With the application surface Enabled:**
- The pause system creates a copy of the application surface the moment you pause, and displays that image until the game is resumed.
- This method does NOT save what's drawn on the GUI before you pause.

**With the application surface Disabled**
- The pause takes a snapshot of the game window, saves it temporarily as a .png and loads it back into the game.
- This method is much slower, especially on higher resolutions, because it saves/load an image file externally.
- This method will snapshot *everything* currently displayed in the game window, including the GUI.


pablo l 04 May 2016

Seems great.

But I can't create objects on the Pause Screen even if I inherit a button from the parent_dont_pause object they still look paused (e.g. My buttons are always rotating), although they're functional.

I don't understand this on the game_pause script:
"Objects that have the parent "parent_dont_pause" will not be paused.
Remember that they will still appear on the pause background unlessyou draw them in the draw GUI event."
You can't I draw an object in the DrawGui, you draw sprites, or am I missing something here?

I also inherit a button directly from the obj_pause, but when I pause the screen my button disappears.

Any help please?


Happy Panda Games (Publisher) 29 July 2016

Hi pablo,
apologies for the late reply, reviews are not sent to the support email adress. For fast help it's better to send a support ticket.

Make sure your buttons are drawn above the pause background. By default, it's drawn in the "Draw Gui Begin" event, so anything in the regular Draw events will disappear behind it.
To make sure your objects are drawn above the pause background, they should draw themselves in the "Draw GUI" or "Draw GUI End" events. You may also be able to edit obj_pause to make it draw the pause background in the regular draw event. Also keep in mind the depth variable of your objects.

You can ignore using parent_dont_pause for buttons and objects that will only appear while the game is paused. Then it's easier to simply create or activate those objects after you pause the game.

If you need more assistance, you can send a support ticket with the contact publisher button :)


Luke P 25 January 2016

Need only one small tweak

I had it up and running perfectly in 10 minutes. The only thing I had to change was that the current version does not take into account the view port size. My screen was 240x135 drawn at a higher view port. When the view port was 240x135 it worked perfectly, but when I increased the view port, the paused image was giant and I could only see the corner. I had to modify it to take into account the view port size.

But other than that, this thing worked brilliantly and without a hitch. The code was so well written that it was easy to modify.


Happy Panda Games (Publisher) 29 January 2016

A friendly tip: it has to do with the size of your game's application surface and GUI. The pause system takes a screenshot of the application surface, then draws it on the GUI, so if the sizes of those two don't match up, the image will stretch.
Gamemaker will only set the size of the window, GUI, and application surface according to the startup room, but won't update all of those automatically if you change the size of views or ports during runtime. You'll have to manually set the width and height to the same as your viewports using these three functions:

window_set_size(width, height);
surface_resize(application_surface, width, height);


Anonymous 28 August 2015

Easy and it works!

Easy to implement.


Jeff J 13 August 2015


Works better than any other marketplace pausing asset I've tried. Even with my game's rather peculiar mobile scaling setup that handles various resolutions and aspect ratios, this "just works" without any modding of any kind. Did not expect that, but there it is. Amazing.


Liam F 25 March 2015


works perfectly!


Anonymous 01 November 2014

Physics doesn't stop.

Physics doesn't stop but is easy to fix. You only have to use "physics_world_update_speed();" in your scripts.
To fix it I just put "physics_world_update_speed(0);" in the end of "game_pause" script and "physics_world_update_speed(room_speed);" in the end of "game_resume".

This review was left for a previous version of this asset.


Happy Panda Games (Publisher) 02 November 2014

Hi Alberto, if you look in the "README" script you will find the following:
"If your game uses physics, set the "pause_physics" variable to true in the create event of obj_pause."

By default, the pause_physics variable is set to false because if the pause systems tries to pause physics when there is no physics world, you will get an error.
To enable physics pausing, simply set the pause_physics variable to true.


Svetoslav I 25 October 2014

Working as intended

Works as expected and it is easy to setup and use. Recommended.

This review was left for a previous version of this asset.


Andreas M 24 October 2014


Works as it should. Easy to add os_pause.

This review was left for a previous version of this asset.


Amberly A 28 September 2014


Very, clean, well organized code. Well commented. Does exactly as advertised. As an intermediate level coder I was able to apply, understand and customize the engine to my specifications to work with multiple automated parallax scrolling backgrounds. Also the pausing for 3D object was a nice addition. Very nice work. Thanks. -Amber (sweetluvinbizkit)

This review was left for a previous version of this asset.

Package contents

Loading, please wait

What is the issue?

Back to Top