How to implement controller vibration / rumble?

It appears that these features aren’t supported by Unity. If you have implemented it in a Unity-made game, how did you do it?

Searching for this topic yields some older threads referring to:

XInput for xbox 360; GitHub - speps/XInputDotNet: C# wrapper around XInput, works with any Mono or .NET application (eg. Unity3D)

Motionjoy for PS3; motioninjoy.com - motioninjoy Resources and Information.

These look like home-brewed solutions for exposing various console-specific controller features, including rumble. They’re still being updated, so that’s a good sign, but there doesn’t seem to be much discussion here about them other than a few mentions of somebody getting them to work. So, this seems to be the M.O.: Use console-specific .dlls from 3rd parties, drop them in your builds and write a common interface within Unity. I’m wondering, is this still “the way” and are the above, the preferred packages (both for ease of use, and for indie-friendly licenses)?

I’ve failed to get this done about a dozen times until today. You need to download a ‘using’ namespace to get access to the GamePad.SetVibration() function.

The download and instructions (scroll down) can be found here. Enjoy! GitHub - speps/XInputDotNet: C# wrapper around XInput, works with any Mono or .NET application (eg. Unity3D)

I’m also interested in having this as a feature in Unity.

Check it out Introducing the new Input System | Unity Blog

This can be done through Wwise using the Wwise Motion Sink plugin!