GameMaker (all)


Stephen Loney

You must be logged in to obtain assets


DispatchGMS provides an easy-to-use framework for dynamic dispatching of script callbacks. This enables greater flexibility by allowing, at runtime, for the creation of custom events and the extension of GameMaker object events.


  • Dynamically add or remove dispatcher script callbacks
  • Pass variable number of arguments to script callbacks
  • Option to override script callback arguments when invoking dispatchers
  • "Dynamic Event" scripts allow you to easily adapt dispatchers to GameMaker object events
  • Ability to suppress/mute dispatchers or callbacks
  • Various ways to remove callbacks (callback id, script id, target id, all)

[Script Reference]

[Basic Code Example]

/// [Create Event]
// Create new dispatcher for custom mouse event
onMousePress = DispatcherCreate();

// Add script callbacks to dispatcher
DispatcherAdd(onMousePress, id, ShowMessage, "Mouse Button was pressed!");
cbAddNums = DispatcherAdd(onMousePress, id, ShootTargets, obj_Enemy, obj_Barrels);

// Remove second callback from dispatcher
DispatcherRemove(onMousePress, cbAddNums);

/// [Mouse Button Press Event]
// Execute dispatcher

/// [Destroy Event]
// Destroy and nullify dispatcher
onMousePress = DispatcherNull();

/// [Room End Event]
// Destroy and nullify dispatcher
if (persistent == false && room_persistent == false)
    onMousePress = DispatcherNull();

Be sure to check out some of my other assets!

  • TweenGMS
  • ScheduleGMS
  • Steady Delta Time

End User Licence Agreement (EULA).

Age Rating: 4+


GMS1 - Version 1.0.0. Published August 15, 2014

GMS2 - Version 1.1.0. Published March 10, 2018

Loading, please wait

Package contents

Loading, please wait

What is the issue?

Loading, please wait