# HapticService

Roblox Engine API class from Roblox Studio 0.744.0.7441077 (version-7aaa6838d36c4448).

- Inherits from, nearest first: [Instance](https://rapi.sleaze.dev/classes/Instance.md), [Object](https://rapi.sleaze.dev/classes/Object.md)
- Tags: Not creatable, Not replicated, Service
- Memory category: Instances
- HTML page: https://rapi.sleaze.dev/classes/HapticService/
- Roblox documentation: https://create.roblox.com/docs/reference/engine/classes/HapticService

Provides haptic feedback to controllers and devices.

## Methods

### GetMotor

```luau
HapticService:GetMotor(inputType: Enum.UserInputType, vibrationMotor: Enum.VibrationMotor): ...any
```

- Tags: Capabilities: Input

Returns the current vibration value set to the specified `UserInputType` and `VibrationMotor`.

Parameters:

- `inputType`: The specified `UserInputType`.
- `vibrationMotor`: The specified `VibrationMotor`.

Returns: The current vibration value set to the specified `UserInputType` and `VibrationMotor` or `nil` if [`SetMotor()`](https://rapi.sleaze.dev/classes/HapticService.md) has not been called prior.

### IsMotorSupported

```luau
HapticService:IsMotorSupported(inputType: Enum.UserInputType, vibrationMotor: Enum.VibrationMotor): boolean
```

- Tags: Capabilities: Input

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

Parameters:

- `inputType`: The specific `UserInputType` being checked for `VibrationMotor` support.
- `vibrationMotor`: The specified `VibrationMotor` checked to see if it supports the specified `UserInputType`.

Returns: Boolean of `true` if the specified motor is available to be used with the specified `UserInputType`, `false` if not.

### IsVibrationSupported

```luau
HapticService:IsVibrationSupported(inputType: Enum.UserInputType): boolean
```

- Tags: Capabilities: Input

Returns `true` if the specified `UserInputType` supports haptic feedback.

Parameters:

- `inputType`: The specified `UserInputType` checked to see if it supports haptic feedback.

Returns: Boolean of `true` if the specified `UserInputType` supports haptic feedback.

### SetMotor

```luau
HapticService:SetMotor(inputType: Enum.UserInputType, vibrationMotor: Enum.VibrationMotor, ...: any)
```

- Tags: Capabilities: Input

Sets the vibration intensity of the specified `UserInputType` and `VibrationMotor`.

Parameters:

- `inputType`: The specified `UserInputType`.
- `vibrationMotor`: The specified `VibrationMotor`.
- `vibrationValues`: How intensely the motor should vibrate. Only uses the first value in the tuple, which should be a number.

## Inherited members

- From [Instance](https://rapi.sleaze.dev/classes/Instance.md): `Archivable`, `archivable`, `Attributes`, `AttributesReplicate`, `AttributesSerialize`, `HistoryId`, `Name`, `Parent`, `PredictionMode`, `PropertyStatusStudio`, `RobloxLocked`, `SerializedOverrides`, `SourceAssetId`, `Tags`, `UniqueId`, `numExpectedDirectChildren`, `DataCost`, `Capabilities`, `DefinesCapabilities`, `IsInSandbox`, `Sandboxed`, `AddTag`, `ClearAllChildren`, `Clone`, `Destroy`, `FindFirstAncestor`, `FindFirstAncestorOfClass`, `FindFirstAncestorWhichIsA`, `FindFirstChild`, `FindFirstChildOfClass`, `FindFirstChildWhichIsA`, `FindFirstDescendant`, `GetActor`, `GetAttribute`, `GetAttributeChangedSignal`, `GetAttributes`, `GetChildren`, `GetDebugId`, `GetDescendants`, `GetFullName`, `GetStyled`, `GetStyledPropertyChangedSignal`, `GetTags`, `HasTag`, `IsAncestorOf`, `IsDescendantOf`, `IsPropertyModified`, `QueryDescendants`, `RemoveTag`, `ResetPropertyToDefault`, `SetAttribute`, `WaitForChild`, `Remove`, `children`, `clone`, `destroy`, `findFirstChild`, `getChildren`, `isDescendantOf`, `remove`, `AncestryChanged`, `AttributeChanged`, `ChildAdded`, `ChildRemoved`, `DescendantAdded`, `DescendantRemoving`, `Destroying`, `StyledPropertiesChanged`, `childAdded`
- From [Object](https://rapi.sleaze.dev/classes/Object.md): `ClassName`, `className`, `GetPropertyChangedSignal`, `IsA`, `isA`, `Changed`
