InputObject
An InputObject represents a single user input, such as mouse movement, touches, key presses and more. It is created when an input begins.
The properties of this object vary according the UserInputType. Each kind of input will undergo various changes to its UserInputState. During the lifetime of an input, other properties which further describe the input may change, such as Position and Delta. Keyboard and gamepad button presses will have the KeyCode property set.
Once created at the beginning of an input, the same object persists and is updated until the input ends. As a result, you can track the object's changes using the Changed event as the user changes the input in question. You can also place these objects into a list of active inputs track and interact with the object after it's creation by an event such as UserInputService.InputBegan. This is mostly useful for touch events, as each touch point will have a separate InputObject.
See also UserInputService whose events and functions often use InputObject, and GuiObject whose events related to user input use InputObject.
Summary
Properties
A Vector3 describing the delta between input movements.
Contains an Enum that describes the kind of input used.
A Vector3 describing the positional value of this input.
Describes the state of an input being performed, following a specific flow depending on the UserInputType.
Describes the kind of input being performed (mouse, keyboard, gamepad, touch, etc.).
Methods
Returns whether the passed in modifier key is down.