After replaying Shadow of the Colossus recently I noticed the way it used controller rumble when you moved. The faster Agro moved the stronger it rumbled in time with his footsteps. I really wanted to do something similar so I gave it a shot.
Rumble is something quite as it’s the only way to add extra tactile effects to traditional controllers. That makes it quite useful for enchanting the game feel and can make it feel just a little more immersive. It got quite popular even if it was seen kinda gimmicky at first but in the latest years I haven’t seen it used all that often sadly. While I have experimented a little bit with rumble with XNA at my spare time before but I’ve always felt kinda sad that Unity had no support for rumble from the start. That being said I searched today and found this C# Wrapper that adds full support for XInput.
After a little tinkering I got rumble working quite well for my Xbox 360 controller. After that I tried to sync it to footsteps of the prototype asset store model I currently use. I had some problems until I realised I first had to edit the animation event on the animaton import sections. After that it was smooth sailing and I got it set up quite nicely.
A problem I noticed however is that the rumble power is quite inconsistent. When I set that I want 0.15 rumble power every footstep it sometimes feel more powerful than other times. I’m not exactly sure what is causing it but that is something I have to figure out sooner or later.
That being said I am glad I got this running. It might seem like a small victory but a battlefield is just a gigantic collection of victories and defeats and everyone counts.