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
553Name: string
553Parent: Instance
635Sandboxed: bool
616UniqueId: UniqueId
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
648GetChildren(): Instances
462GetDebugId(scopeLength: int = 4): string
486GetDescendants(): Array
486GetFullName(): string
641GetStyled(name: string): Variant
576GetTags(): Array
576HasTag(tag: 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
648children(): Instances
553clone(): Instance
573destroy(): null
553findFirstChild(name: string, recursive: bool = false): Instance
648getChildren(): Instances
553isDescendantOf(ancestor: Instance): bool
573remove(): null
462AncestryChanged(child: Instance, parent: Instance)
462AttributeChanged(attribute: string)
462ChildAdded(child: Instance)
462ChildRemoved(child: Instance)
462DescendantAdded(descendant: Instance)
462DescendantRemoving(descendant: Instance)
500Destroying()
553childAdded(child: Instance)
inherited from Object
647ClassName: string
647className: string
647GetPropertyChangedSignal(property: string): RBXScriptSignal
647IsA(className: string): bool
650isA(className: string): bool
647Changed(property: string)

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