GameMaker (2.0 - 2.2.x)

Native Cursors


You must be logged in to obtain assets

Description link with a GIF and GMS1 version and all

This extension enables your games to use system-level custom cursors. Such cursors are framerate-independent and have zero lag.

Use of native cursors is particularly important for any players that might run your game ​at displays with higher refresh rates or with vertical synchronization enabled, as mouse lag can be disorienting for many.

Included functions:

  • window_set_cursor_sprite(sprite, subimg)
  • window_set_cursor_sprite_ext(sprite, subimg, xscale, yscale, blend, alpha)
  • window_set_cursor_surface(surface, hotpoint_x, hotpoint_y)
  • window_set_cursor_surface_part(surface, hotpoint_x, hotpoint_y)
  • window_set_cursor_normal() (reverts to cursor set via built-in functions)

Supported versions: GMS1 ( version only), GMS2, GMS2.3+

Supported platforms:

  • Windows: via DLL (WndProc hook).
    Supports cursors up to 256x256px.
    Old systems may only support cursors up to 64x64px (in otherwords, make an option if you want a huge cursor)
    Likely works on UWP/Windows Store native apps, but wasn't tested yet.
  • HTML5: via JS (CSS3 cursors).
    Supports cursors up to 128x128px.
    On WebGL, cursors can only be changed in draw event, since drawing operations do not work elsewhere.

Package contains:

  • The extension itself.
  • Sample project (shown on the GIF).
  • Source code (GML, JS, C++).

End User Licence Agreement (EULA).

Age Rating: 4+


GMS2.3 - Version 1.0.4. Published October 22, 2020

GMS2 - Version 1.0.4. Published October 22, 2020

Loading, please wait

Package contents

Loading, please wait

What is the issue?

Loading, please wait