Reference API Roblox

Engine API

Website

Related

Reference API Roblox

HapticService

Provides haptic feedback to some gamepad controllers.

This class is not replicated. Its interface does not cross the network boundary.
This class is not creatable. Instances of this class cannot be created with Instance.new.
This class is a service. It is a singleton that may be acquired with GetService.
Tags: [NotCreatable, Service, NotReplicated]

Member index 4

HistoryMember
462GetMotor(inputType: UserInputType, vibrationMotor: VibrationMotor): Tuple
462IsMotorSupported(inputType: UserInputType, vibrationMotor: VibrationMotor): bool
462IsVibrationSupported(inputType: UserInputType): bool
573SetMotor(inputType: UserInputType, vibrationMotor: VibrationMotor, vibrationValues: Tuple): null
inherited from Instance
553Archivable: bool
635Capabilities: SecurityCapabilities
553ClassName: string
553Name: string
553Parent: Instance
635Sandboxed: bool
616UniqueId: UniqueId
553className: string
576AddTag(tag: string): null
573ClearAllChildren(): null
462Clone(): Instance
573Destroy(): null
486FindFirstAncestor(name: string): Instance
486FindFirstAncestorOfClass(className: string): Instance
486FindFirstAncestorWhichIsA(className: string): Instance
486FindFirstChild(name: string, recursive: bool = false): Instance
486FindFirstChildOfClass(className: string): Instance
486FindFirstChildWhichIsA(className: string, recursive: bool = false): Instance
486FindFirstDescendant(name: string): Instance
563GetActor(): Actor
486GetAttribute(attribute: string): Variant
462GetAttributeChangedSignal(attribute: string): RBXScriptSignal
631GetAttributes(): Dictionary
486GetChildren(): Objects
462GetDebugId(scopeLength: int = 4): string
486GetDescendants(): Array
486GetFullName(): string
462GetPropertyChangedSignal(property: string): RBXScriptSignal
641GetStyled(name: string): Variant
576GetTags(): Array
576HasTag(tag: string): bool
486IsA(className: string): bool
486IsAncestorOf(descendant: Instance): bool
486IsDescendantOf(ancestor: Instance): bool
580IsPropertyModified(name: string): bool
573Remove(): null
576RemoveTag(tag: string): null
580ResetPropertyToDefault(name: string): null
573SetAttribute(attribute: string, value: Variant): null
462WaitForChild(childName: string, timeOut: double): Instance
553children(): Objects
553clone(): Instance
573destroy(): null
553findFirstChild(name: string, recursive: bool = false): Instance
553getChildren(): Objects
462isA(className: string): bool
553isDescendantOf(ancestor: Instance): bool
573remove(): null
462AncestryChanged(child: Instance, parent: Instance)
462AttributeChanged(attribute: string)
462Changed(property: string)
462ChildAdded(child: Instance)
462ChildRemoved(child: Instance)
462DescendantAdded(descendant: Instance)
462DescendantRemoving(descendant: Instance)
500Destroying()
553childAdded(child: Instance)

Description

Modern controllers and devices have motors built in to provide haptic feedback. Adding rumbles and vibrations can provide subtle feedback that is hard to convey through visuals or audio.

Roblox supports haptics for the following devices:

  • Android and iOS phones supporting haptics including most iPhone, Pixel, and Samsung Galaxy devices
  • PlayStation gamepads
  • Xbox gamepads
  • Quest Touch controller

History 10

Members 4

GetMotor

Parameters (2)
inputTypeUserInputType
vibrationMotorVibrationMotor
Returns (1)
Tuple

Returns the current vibration value set to the specified UserInputType and VibrationMotor. This will not return anything if SetMotor has not been called prior.

History 2

IsMotorSupported

Parameters (2)
inputTypeUserInputType
vibrationMotorVibrationMotor
Returns (1)
bool

Returns true if the specified motor is available to be used with the specified UserInputType.

History 2

IsVibrationSupported

Parameters (1)
inputTypeUserInputType
Returns (1)
bool

Returns true if the specified UserInputType supports haptic feedback.

History 2

SetMotor

Parameters (3)
inputTypeUserInputType
vibrationMotorVibrationMotor
vibrationValuesTuple
Returns (1)
null

Sets the vibration intensity of the specified UserInputType and VibrationMotor. Note that almost all use cases specify Gamepad1 as the UserInputType.

History 3

Settings