ScheduleGMS allows you to easily schedule alarms, scripts, events, and more, with the option to use seconds(delta) or step timing.

With extra features like schedule repeating, state management, control groups, and time scale manipulation, ScheduleGMS provides greater convenience and flexibility than standard alarms.


Script Reference


  • Simple to use
  • Allows for seconds(delta) or step timing
  • Schedule alarms, scripts, events, and more
  • Ability to pass variable number of arguments to scheduled scripts
  • State control (pause, resume, cancel, finish)
  • Ability to repeat schedules a set number of times or indefinitely
  • Callback suppression/muting
  • Time scale manipulation
  • Assignable control groups
  • Supports persistent rooms and instances
  • Various support functions
  • Documentation and demo project

[Code Example]

// Show message box "Hello" after 3 seconds 
schedule1 = ScheduleScript(id, true, 3, ShowMessage, "Hello");

// Call user event 1 after 30 steps
schedule2 = ScheduleEventUser(obj_Player, false, 30, 1);

// Execute mouse event after 5 seconds
schedule3 = ScheduleEvent(id, true, 5, ev_mouse, ev_left_release);

// Set schedules to repeat set number of times
ScheduleSetRepeat(schedule1, 2); // repeat twice
ScheduleSetRepeat(schedule2, -1); // play infinitely

// Manipulate schedule state

 // Have schedule immediately finish

Be sure to check out my other assets:

  • TweenGMS
  • DispatchGMS
  • Steady Delta Time
  • Arg Ext

End User Licence Agreement (EULA).

Changes in 1.0.3

  • Added additional default schedule type: ScheduleAlarm()

  • Added "Copies To:" for GameMaker: Player

  • Minor changes to documentation

Version 1.0.3. Published December 14, 2014

Created with GameMaker: Studio v1.4.1496

Age Rating: 4+

Average Rating

Your review

You can only review assets you've bought.


Dallin B 16 September 2017


Felipe R 07 April 2017


It's a realy GREAT AWESOME asset!!!
Better than the native GM alarms.

Use it on all your project!!!


Ata N 11 September 2016

Thanks Thanks Thanks Thanks !!!

I specifically searching for a TIMER EVENT that weill be running through a simple script !

This is it! Yay!


Stephen Loney (Publisher) 11 September 2016

Glad to hear you like it! ^.^


Anonymous 23 April 2016

Fantastic and working like a charm

I tried it and it works fantastic, not a single bug or something that would "break" the flow of my project. I was having a hard time finding something like this, but now when I got it it's fantastic! I just love your work! Thanks for sharing such an awesome feature! ^_^


davide m 27 April 2015


In the game i'm trying to develop, timelines are very important. Well, this asset is definitely what i needed. Thank you very much for sharing this precious asset (at a great price)!

EDIT: I've been playing for a while with this asset: it's FANTASTIC. A must buy for everyone who needs an easy and brilliant way to deal with alarms and timelines. Chapeau!


Jack S 13 September 2014

Pretty awesome

This is a feature I'm honestly not sure why isn't supported in the engine without an extension (coming from an objective-c background).

I have mixed feelings on the extension presentation - on one hand it's nice to not have a pile of scripts to import, on the other it's more trouble to go look at the source to see what's going on under the hood, or extend if needed.

So far it's working in windows for me, however not HTML5, not sure if I've done something dumb (possible while learning new tools). I will be testing on iOS and droid soon as well.

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


Stephen Loney (Publisher) 15 December 2014

Thanks for the review.
Scripts are now imported via the extension manager.

Package contents

Total size 2.32 MB 8.28 KB ScheduleGMS
Setup.gml 94 Bytes SGMS_Demo_Project.gmz 2.28 MB TERMS_OF_USE.txt 1.15 KB Assets
datafiles Objects Scripts
ScheduleAlarm.gml 797 Bytes ScheduleCancel.gml 567 Bytes ScheduleCancelAll.gml 551 Bytes ScheduleCancelGroup.gml 779 Bytes ScheduleCancelTarget.gml 376 Bytes ScheduleDefaultGetForceTimer.gml 100 Bytes ScheduleDefaultGetTimeScale.gml 98 Bytes ScheduleDefaultSetForceTimer.gml 110 Bytes ScheduleDefaultSetTimeScale.gml 108 Bytes ScheduleEvent.gml 847 Bytes ScheduleEventObject.gml 912 Bytes ScheduleEventUser.gml 805 Bytes ScheduleExists.gml 103 Bytes ScheduleFinish.gml 551 Bytes ScheduleFinishAll.gml 548 Bytes ScheduleFinishGroup.gml 681 Bytes ScheduleFinishTarget.gml 378 Bytes ScheduleGetDelta.gml 159 Bytes ScheduleGetDuration.gml 165 Bytes ScheduleGetForceTimer.gml 170 Bytes ScheduleGetGroup.gml 159 Bytes ScheduleGetMute.gml 162 Bytes ScheduleGetRepeat.gml 167 Bytes ScheduleGetTarget.gml 192 Bytes ScheduleGetTime.gml 157 Bytes ScheduleGetTimeScale.gml 168 Bytes ScheduleGMS_Final.gml 135 Bytes ScheduleGMS_Init.gml 1.27 KB ScheduleIsPaused.gml 164 Bytes ScheduleIsPlaying.gml 165 Bytes ScheduleNull.gml 31 Bytes SchedulePath.gml 961 Bytes SchedulePause.gml 221 Bytes SchedulePauseAll.gml 545 Bytes SchedulePauseGroup.gml 694 Bytes SchedulePauseTarget.gml 376 Bytes ScheduleResume.gml 222 Bytes ScheduleResumeAll.gml 549 Bytes ScheduleResumeGroup.gml 692 Bytes ScheduleResumeTarget.gml 379 Bytes ScheduleScript.gml 1.05 KB ScheduleSetDelta.gml 171 Bytes ScheduleSetDuration.gml 181 Bytes ScheduleSetForceTimer.gml 183 Bytes ScheduleSetGroup.gml 172 Bytes ScheduleSetMute.gml 342 Bytes ScheduleSetMuteAll.gml 578 Bytes ScheduleSetMuteGroup.gml 721 Bytes ScheduleSetMuteTarget.gml 396 Bytes ScheduleSetRepeat.gml 196 Bytes ScheduleSetTarget.gml 177 Bytes ScheduleSetTime.gml 169 Bytes ScheduleSetTimeScale.gml 181 Bytes ScheduleSetTimeScaleAll.gml 594 Bytes ScheduleSetTimeScaleGroup.gml 743 Bytes ScheduleSetTimeScaleTarget.gml 407 Bytes ScheduleSound.gml 906 Bytes ScheduleSoundAt.gml 1.23 KB ScheduleSoundOn.gml 969 Bytes ScheduleSystemClearAllRooms.gml 656 Bytes ScheduleSystemClearRoom.gml 897 Bytes ScheduleSystemCount.gml 78 Bytes ScheduleSystemGetEnabled.gml 69 Bytes ScheduleSystemGetTimeScale.gml 71 Bytes ScheduleSystemGetUpdateInterval.gml 81 Bytes ScheduleSystemSetEnabled.gml 116 Bytes ScheduleSystemSetMinDeltaFPS.gml 281 Bytes ScheduleSystemSetTimeScale.gml 119 Bytes ScheduleSystemSetUpdateInterval.gml 134 Bytes ScheduleTimeLine.gml 969 Bytes SGMS_ExecuteCallback.gml 6.07 KB SharedScheduler.gml 12.7 KB

What is the issue?

Back to Top