Provides haptic feedback to some gamepad controllers.
Its interface does not cross the network boundary.
Instances of this class cannot be created with Instance.new.
It is a singleton that may be acquired with GetService.
Tags: [NotCreatable, Service, NotReplicated]
History Member 462 GetMotor ( inputType: UserInputType , vibrationMotor: VibrationMotor ) : Tuple 462 IsMotorSupported ( inputType: UserInputType , vibrationMotor: VibrationMotor ) : bool 462 IsVibrationSupported ( inputType: UserInputType ) : bool 573 SetMotor ( inputType: UserInputType , vibrationMotor: VibrationMotor , vibrationValues: Tuple ) : null 69 members inherited from Instance553 Archivable : bool 553 Attributes : string 553 AttributesReplicate : string 553 AttributesSerialize : BinaryString 635 Capabilities : SecurityCapabilities 553 ClassName : string 553 DataCost : int 619 DefinesCapabilities : bool 553 HistoryId : UniqueId 553 Name : string 553 Parent : Instance 553 PropertyStatusStudio : PropertyStatus 553 RobloxLocked : bool 635 Sandboxed : bool 616 SourceAssetId : int64 553 Tags : BinaryString 616 UniqueId : UniqueId 553 archivable : bool 553 className : string 553 numExpectedDirectChildren : int 576 AddTag ( tag: string ) : null 573 ClearAllChildren ( ) : null 462 Clone ( ) : Instance 573 Destroy ( ) : null 486 FindFirstAncestor ( name: string ) : Instance 486 FindFirstAncestorOfClass ( className: string ) : Instance 486 FindFirstAncestorWhichIsA ( className: string ) : Instance 486 FindFirstChild ( name: string , recursive: bool = false ) : Instance 486 FindFirstChildOfClass ( className: string ) : Instance 486 FindFirstChildWhichIsA ( className: string , recursive: bool = false ) : Instance 486 FindFirstDescendant ( name: string ) : Instance 563 GetActor ( ) : Actor 486 GetAttribute ( attribute: string ) : Variant 462 GetAttributeChangedSignal ( attribute: string ) : RBXScriptSignal 631 GetAttributes ( ) : Dictionary 486 GetChildren ( ) : Objects 462 GetDebugId ( scopeLength: int = 4 ) : string 486 GetDescendants ( ) : Array 486 GetFullName ( ) : string 462 GetPropertyChangedSignal ( property: string ) : RBXScriptSignal 641 GetStyled ( name: string ) : Variant 576 GetTags ( ) : Array 576 HasTag ( tag: string ) : bool 486 IsA ( className: string ) : bool 486 IsAncestorOf ( descendant: Instance ) : bool 486 IsDescendantOf ( ancestor: Instance ) : bool 580 IsPropertyModified ( name: string ) : bool 573 Remove ( ) : null 576 RemoveTag ( tag: string ) : null 580 ResetPropertyToDefault ( name: string ) : null 573 SetAttribute ( attribute: string , value: Variant ) : null 462 WaitForChild ( childName: string , timeOut: double ) : Instance 553 children ( ) : Objects 553 clone ( ) : Instance 573 destroy ( ) : null 553 findFirstChild ( name: string , recursive: bool = false ) : Instance 553 getChildren ( ) : Objects 462 isA ( className: string ) : bool 553 isDescendantOf ( ancestor: Instance ) : bool 573 remove ( ) : null 462 AncestryChanged ( child: Instance , parent: Instance ) 462 AttributeChanged ( attribute: string ) 462 Changed ( property: string ) 462 ChildAdded ( child: Instance ) 462 ChildRemoved ( child: Instance ) 462 DescendantAdded ( descendant: Instance ) 462 DescendantRemoving ( descendant: Instance ) 500 Destroying ( ) 553 childAdded ( child: Instance )
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 Returns true if the specified motor is available to be used with the
specified UserInputType .
History 2 Returns true if the specified UserInputType supports haptic
feedback.
History 2