GameMaker Studio 2 (2.3)



You must be logged in to obtain assets


WalrusTimer is a replacement library for GameMaker Studio 2.3+'s built-in alarms. | GitHub | Discord Server

With this library, you can create timers that run a custom method you give it after a certain number of frames. This is very similar to GameMaker's built-in alarms, but instead of relying on separate actions, with this library, you can just use your own methods, meaning you can declare timers and what they do in a single script, or even a single line if you so choose!

The usage of this library is very similar to Javascript's "setInterval()" and "setTimeout()" methods, so if you're familiar with Javascript this will also feel very familiar.

callback1 = function() {
    show_message("Pretty cool, huh?");
callback2 = function() {
    show_message("This timer will repeat forever at the same interval.");
timer_set(callback1, 300);
timer_set(callback2, 60, true);
timer_set(function(){show_message("You can do inline functions too.");}, 200);

This library comes with 10 methods.

  • timer_set(callback, value, repeat[OPTIONAL], arguments...[OPTIONAL])
  • timer_destroy(timer)
  • timer_get(timer)
  • timer_change(timer, value, change_repeat_time[OPTIONAL])
  • timer_pause(timer, pause[OPTIONAL])
  • timer_get_paused(timer)
  • timer_system_update(tick_rate)
  • timer_system_room_end()
  • timer_system_set_tickrate(tick_rate)
  • timer_system_get_tickrate()

This library is only tested on Windows and HTML5 platforms, but it should also work on other platforms as well. It also comes with an example project that will teach you the basics.

The entirety of this project is licensed under MPL 2.0, so please give me credit if you end up using it.

If you have any questions, you can ask them on this project's page or at my Discord Server.

End User Licence Agreement (EULA).

Age Rating: 4+


GMS2.3 - Version 1.3.2. Published October 2, 2020

  • Fixed a minor issue that would result with the library not working at all.
  • Renamed "timer_get_pause" to "timer_get_paused".
  • Minor optimizations.
  • Minor reformatting.
Loading, please wait

Package contents

Loading, please wait

What is the issue?

Loading, please wait

Back to Top