Skip to content

GML Event Names

This is a list of all GML event names. You can use it as a reference when writing your ScaffScript code.

<EventType>
<EventType>[:<EventSubtype>]

The “parent event” of an object event. Use the input to target an event in an integration block. The input is case insensitive.

InputEvent NameValue InternalNeed Subtype?
createCreate0
destroyDestroy1
alarmAlarm2
stepStep3
collisionCollision4
keyboard | keydown | key_downKeyboard5
mouseMouse6
other | asyncOther7
drawDraw8
keypress | key_pressKeyPress9
keyrelease | key_releaseKeyRelease10
cleanup | clean_upCleanUp12
gestureGesture13

In GameMaker IDE, this one is called “event number”. It defines the specific event based on the event type. Like the event type, event subtype is also case insensitive.

InputValue Internal
alarm_00
alarm_11
alarm_22
alarm_33
alarm_44
alarm_55
alarm_66
alarm_77
alarm_88
alarm_99
alarm_1010
alarm_1111

InputValue Internal
async_image_loaded60
async_http62
async_dialog63
async_in_app_purchase66
async_cloud67
async_networking68
async_steam69
async_social70
async_push_notification71
async_save_load72
async_audio_recording73
async_audio_playback74
async_system75

Collision event subtype is the name of the other object in the GameMaker IDE. You must create the targetted object in the GameMaker IDE before using it as an event subtype.

index.ss
#[coll_player as collision:objPlayer] // `objPlayer` is an existing object in the GameMaker IDE
show_debug_message("collided with objPlayer!");

Used by event types that don’t need a subtype. The value is always 0, and ScaffScript will add it for you.

InputValue Internal
clean_up0
create0
destroy0

InputValue Internal
gesture_tap0
gesture_double_tap1
gesture_drag_start2
gesture_dragging3
gesture_drag_end4
gesture_flick5
gesture_pinch_start6
gesture_pinch_in7
gesture_pinch_out8
gesture_pinch_end9
gesture_rotate_start10
gesture_rotating11
gesture_rotate_end12
global_gesture_tap64
global_gesture_double_tap65
global_gesture_drag_start66
global_gesture_dragging67
global_gesture_drag_end68
global_gesture_flick69
global_gesture_pinch_start70
global_gesture_pinch_in71
global_gesture_pinch_out72
global_gesture_pinch_end73
global_gesture_rotate_start74
global_gesture_rotating75
global_gesture_rotate_end76

InputValue Internal
keyboard_no_key0
keyboard_any_key1
keyboard_backspace8
keyboard_tab9
keyboard_enter13
keyboard_shift16
keyboard_control17
keyboard_alt18
keyboard_escape27
keyboard_space32
keyboard_page_up33
keyboard_page_down34
keyboard_end35
keyboard_home36
keyboard_left37
keyboard_up38
keyboard_right39
keyboard_down40
keyboard_insert45
keyboard_delete46
keyboard_048
keyboard_149
keyboard_250
keyboard_351
keyboard_452
keyboard_553
keyboard_654
keyboard_755
keyboard_856
keyboard_957
keyboard_a65
keyboard_b66
keyboard_c67
keyboard_d68
keyboard_e69
keyboard_f70
keyboard_g71
keyboard_h72
keyboard_i73
keyboard_j74
keyboard_k75
keyboard_l76
keyboard_m77
keyboard_n78
keyboard_o79
keyboard_p80
keyboard_q81
keyboard_r82
keyboard_s83
keyboard_t84
keyboard_u85
keyboard_v86
keyboard_w87
keyboard_x88
keyboard_y89
keyboard_z90
keyboard_numpad_096
keyboard_numpad_197
keyboard_numpad_298
keyboard_numpad_399
keyboard_numpad_4100
keyboard_numpad_5101
keyboard_numpad_6102
keyboard_numpad_7103
keyboard_numpad_8104
keyboard_numpad_9105
keyboard_numpad_multiply106
keyboard_numpad_add107
keyboard_numpad_subtract109
keyboard_numpad_decimal110
keyboard_numpad_divide111
keyboard_f1112
keyboard_f2113
keyboard_f3114
keyboard_f4115
keyboard_f5116
keyboard_f6117
keyboard_f7118
keyboard_f8119
keyboard_f9120
keyboard_f10121
keyboard_f11122
keyboard_f12123

InputValue Internal
mouse_down_left0
mouse_down_right1
mouse_down_middle2
mouse_no_button3
mouse_press_left4
mouse_press_right5
mouse_press_middle6
mouse_release_left7
mouse_release_right8
mouse_release_middle9
mouse_enter10
mouse_leave11
global_mouse_down_left50
global_mouse_down_right51
global_mouse_down_middle52
global_mouse_press_left53
global_mouse_press_right54
global_mouse_press_middle55
global_mouse_release_left56
global_mouse_release_right57
global_mouse_release_middle58
mouse_wheel_up | mouse_scroll_up60
mouse_wheel_down | mouse_scroll_down61

InputValue Internal
outside_room0
intersect_boundary1
game_start2
game_end3
room_start4
room_end5
animation_end7
path_end8
user_event_010
user_event_111
user_event_212
user_event_313
user_event_414
user_event_515
user_event_616
user_event_717
user_event_818
user_event_919
user_event_1020
user_event_1121
user_event_1222
user_event_1323
user_event_1424
user_event_1525
outside_view_040
outside_view_141
outside_view_242
outside_view_343
outside_view_444
outside_view_545
outside_view_646
outside_view_747
intersect_view_0_boundary50
intersect_view_1_boundary51
intersect_view_2_boundary52
intersect_view_3_boundary53
intersect_view_4_boundary54
intersect_view_5_boundary55
intersect_view_6_boundary56
intersect_view_7_boundary57
animation_update58
animation_event59
broadcast_message76
wallpaper_subs_data81

InputValue Internal
step0
step_begin1
step_end2

index.ss
#[createEv as create] // event type that doesn't need a subtype
show_debug_message("create event!");
#[DESTROY Event] // block name = `DESTROY`
show_debug_message("destroy event!");
#[countdown as alarm:alarm_0] // alarm event with subtype
show_debug_message("alarm 0!");
#[keydown:keyboard_f1 Ev] // block name = `keydown:keyboard_f1`
show_debug_message("F1 held!");