Skip to content
The master control engine for managing controllers in Game Maker Studio 2
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
Master Control.yyp
Master Control.yyz

Master Control for Game Maker Studio 2

Learn More On My Website

Using this engine, you are able to very easily manage many controllers in a large game in an initiation script or room start event in the beginning of game loading. This removes the need of going into each room and managing a bunch of "invisible objects".

When a controller is added to a room, the controller with have an instance of it created at room start.

This system is comprised of 3 scripts:

mcs_add_controllers( room(s), controller(s) ) This is the meat and potatoes of the whole system, using this script you can add controllers to rooms by first specifying the room and the controller that goes into it.

You can also pass arrays of rooms/controllers into this script, for instance:

mcs_add_controllers([rm_start,rm_lvl1,rm_lvl2], [con_ingame,con_init]);

This example will add both of the controllers specified into all three rooms specified.

mcs_auto_add(slug) This is a pretty neat script, you specify a "slug" or a string that is a word or phrase that is shared across controllers and rooms and it will link them together.

For instance, let's say you have 2 controllers and 4 rooms, named as such:


  • con_jungle_main
  • con_jungle_enemyspawn


  • rm_jungle_start
  • rm_jungle_middle
  • rm_jungle_end
  • rm_jungle_secret

With the script used in the following way:


All of the controllers with "jungle" in the name will automatically be added to the rooms with "jungle" in their names.

mcs_remove_controller(room, controller) Using this script, you can remove a single controller from a room.

More Info


Marketplace Listing View Listing

Code on Pastebin View on Pastebin

You can’t perform that action at this time.