Skip to content
Open
1 change: 1 addition & 0 deletions Packages/com.unity.inputsystem/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
- Migrated sample scenes to use Universal Render Pipeline (URP) with Built-in Render Pipeline fallback shaders. The URP package is now required to run the samples. (ISX-2343)
- Changed the UI for `Actions.inputactions` asset to use UI Toolkit framework.
- Changed the UI for `InputSystem.inputsettings` asset to use UI Toolkit framework.
- Added documentation for rumble support on Android and iOS.

### Added

Expand Down
21 changes: 20 additions & 1 deletion Packages/com.unity.inputsystem/Documentation~/Gamepad.md
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,26 @@ Gamepad.current.SetMotorSpeeds(0.25f, 0.75f);
>* PS4, Xbox, and Switch controllers, when connected to their respective consoles. Only supported if you install console-specific input packages in your Project.
>* PS4 controllers, when connected to Mac or Windows/UWP computers.
>* Xbox controllers on Windows.

>* Gamepads on Android. Rumble support varies with Android OS version and requires Unity 6000.6 or later.
> * Rumble automatically stops about 10 seconds after the last [`SetMotorSpeeds`](xref:UnityEngine.InputSystem.Haptics.IDualMotorRumble) call unless you explicitly stop it.
> * Android 12 or later:
> * Supports most Bluetooth-connected gamepads with rumble support including PS4, PS5, and Xbox controllers.
> * If the gamepad is connected with a USB cable, rumble support might vary.
> * If the gamepad supports more than one motor, you can control the speed of each motor individually.
> * Android 11 or earlier:
> * Rumble support is limited.
> * Only one motor is supported. If the gamepad has more than one motor, the higher value of the left and right motor speed applies to both.
> * On some devices, motor speed control is limited. You can only set the left and right motor speed to either `1.0` (maximum speed) or `0.0` (turned off).
> * Gamepads on iOS, tvOS, and visionOS. Requires Unity 6000.6 or later.
> * Rumble is supported on gamepads recognized by Apple's GameController framework, including PS4, PS5, Xbox, and Switch Pro controllers.
> * If the gamepad exposes both motors, you can control each speed individually. Otherwise, the higher value of the left and right motor speed applies to all motors.
> * The first [`SetMotorSpeeds`](xref:UnityEngine.InputSystem.Haptics.IDualMotorRumble) call allocates rumble resources, which adds latency.
> * When all motor speeds are set to `0.0`, an inactivity timer starts. After two minutes, rumble resources are released to preserve controller battery. The next [`SetMotorSpeeds`](xref:UnityEngine.InputSystem.Haptics.IDualMotorRumble) call reallocates them and again incurs allocation latency.
Comment thread
anjalin14 marked this conversation as resolved.
Outdated
> * Gamepads on iOS, tvOS, and visionOS. Requires Unity 6000.6 or later.
> * Supports rumble on gamepads that Apple's GameController framework recognizes, including PS4, PS5, Xbox, and Switch Pro controllers.
> * If the gamepad supports left and right motors, you can control the speed of each motor individually. Otherwise, the higher value of the left and right motor speed applies to all motors on the gamepad.
> * The first [`SetMotorSpeeds`](xref:UnityEngine.InputSystem.Haptics.IDualMotorRumble) call allocates rumble resources, which adds latency.
> * When you set all motor speeds to `0.0`, an inactivity timer starts. After two minutes, the system releases rumble resources to preserve the controller's battery. The next [`SetMotorSpeeds`](xref:UnityEngine.InputSystem.Haptics.IDualMotorRumble) call reallocates resources and again incurs allocation latency.
[//]: # (TODO: are we missing any supported configs?)

### Pausing, resuming, and stopping haptics
Expand Down
Loading