3 min read

Source: Roblox Creator Hub · CC BY 4.0 · View source · Code samples: MIT Imported 2026-10-03. Formatting adapted for this site.

UserInputState

The UserInputState enum describes the state of an input that is currently or was recently performed. It is used by the InputObject.UserInputState property of the same name, as well as various UserInputService and GuiObject events.

Depending on the UserInputType, input may follow states differently:

Items

NameValueDescription
Begin0Occurs when an InputObject starts to interact with the experience. For example, a mouse button down, a key down, or when the player begins touching the screen.
Change1Occurs each frame an InputObject has already begun interacting with the experience and part of its state is changing. For example, movement of the mouse position, a gamepad thumbstick movement, an analog gamepad trigger button change, or screen touch point change.
End2Occurs when an InputObject finishes interacting with the experience. For example, a mouse button up, a key up, or when the player stops touching the screen.
Cancel3A special circumstance state that indicates this input is no longer relevant, particularly with ContextActionService. For example, binding two action-handling functions will cause the first to Cancel if an input was already in-progress when the second was bound.
None4A state that should never be seen in an experience; essentially just marks the end of the enum.

Begin

Occurs when an InputObject starts to interact with the experience. For example, a mouse button down, a key down, or when the player begins touching the screen.

FieldValue
value0

Change

Occurs each frame an InputObject has already begun interacting with the experience and part of its state is changing. For example, movement of the mouse position, a gamepad thumbstick movement, an analog gamepad trigger button change, or screen touch point change.

FieldValue
value1

End

Occurs when an InputObject finishes interacting with the experience. For example, a mouse button up, a key up, or when the player stops touching the screen.

FieldValue
value2

Cancel

A special circumstance state that indicates this input is no longer relevant, particularly with ContextActionService. For example, binding two action-handling functions will cause the first to Cancel if an input was already in-progress when the second was bound.

FieldValue
value3

None

A state that should never be seen in an experience; essentially just marks the end of the enum.

FieldValue
value4