A downloadable Extension

Buy Now$1.00 USD or more

NOTE: This is an extension designed to work specifically with the software GameMaker: Studio 2

If you want smooth room transition effects in your game, look no further. This extension provides you with all you need to get going quickly as well as for designing your own transitions with ease!

Initial Setup

There is none! Simply call room_goto_transition to switch rooms while using a transition effect. The function takes an enum value from ROOM_TRANSITION to specify which transition you would like to use, the length of transition in seconds, and whether or not the room you are entering should freeze for the length of the transition or not.


This extension is made to be as simple to use as possible but feature rich as well. Here are some highlights:

  • Over 30 transitions included out of the box
  • Instance freezing can make the game wait for the transition. Handles deactivated instances and physics objects perfectly fine.
  • Adding your own transitions is a piece of cake. Your transition code is automatically provided with a snapshot of each room, a surface to render to, and the percentage through the transition.
  • System handles difficult situations with ease. If you change screen sizes between rooms or even don't use the application surface, the system can still function just fine.
  • No setup required! Just pop in the extension and call the room_goto_transition function out-of-the-box!
  • Transitions are handled in realtime not game time. Lag, or changing FPS mid-way through your project doesn't alter the transitions at all.

Platform Support / Resources

This system is programmed in native GML with all systems in mind. It has not been tested on mobile or browser exports at this time, however.


Is there something here you need or want? Came a cross a bug? Let me know! I actively maintain all my extensions for the lifetime of the product they are targeted for.


Take a look at the built-in transition effects:

v1.0.3 Changes 

  • Tweaked how the ENUM / Script specifying works under the hood to properly support both GMS 2.2 and GMS 2.3
  • Tweaked render-size detection to reduce the need for the view size hack under most circumstances.


Buy Now$1.00 USD or more

In order to download this Extension you must purchase it at or above the minimum price of $1 USD. You will get access to the following files:

ubg_transitions_1_0_3.yymp 49 kB


Log in with itch.io to leave a comment.

I am not sure what is wrong but this does not work properly for me. When calling room_goto_transition to switch rooms, the transition effect only covers a small portion of the screen and not the whole screen. 

Firstly, apologizes that you are having trouble with the extension. Can you tell me a bit more about the project itself? Perhaps there is a use case I missed for detecting view size.

What version of GM are you using? Targeted platform? Are you using the application surface or no? What are your view sizes in each room? Viewport size? GUI size?

As a temporary fix until the issue is figured out you can try using the force surface size hack. In the create event of ubg_transition_obj change the variable hack_force_surface_size to match that of your view's render resolution.

All the best.

Thanks. Your suggestion to use the force surface size hack, solved everything.


I have released a small update that address a bug brought to my attention. Semi-transparent objects would render at incorrect transparency levels while transitions were running. This has been fixed.

If you ever come across a bug with the system, please let me know and I will attempt to fix it as soon as possible. Thank you!