Is there a way to vibrate a user’s phone depending on a state in the game? For example, if the car that the player’s controlling goes off the road, I’d like to vibrate the phone until the player returns back to the road. How can I do that?
Also, I want to ask if it is a good UX? I’d like to hear you guys’ opinions about this.
I believe all Unity has built in is Handheld.Vibrate
Though a quick google search turned up this to give more control with native Android calls
But I’d include an option in your game to disable vibration, as I’d expect it will piss a bunch of people off. Nothing worse than playing a game in line at the DMV or in bed while your significant other is asleep, and having your phone just constantly vibrating (which on some devices can be quite loud).
I can’t stand vibration in my hand or controller. I used to go hunting to turn it off, now if a game vibrates even once for me, I just exit and immediately delete the game. Life is far too short for irritations like digging through someone’s menus hoping they put an option in. DELETE.
IMHO don’t re-create rumble controller features on a phone.
It drains the battery of the phone and it can possibly be an annoying experience to players. Some phones have really loud vibrations for instance.
If a controller is connected to the phone you can use the controller’s vibration functions. But I wouldn’t do this with the phone itself. But if it were a huge requested feature I’d still make it optional and by default off.
This is rather intense ^^ I would put it it in the options, along with “disable sound” or “disable music”. This is similar feature : an extra feedback that can become irritable if the user want to play silently
And you don’t have to “bury” it deep inside the UI : most of game just put those options clearly on the main screen
This has not been my experience. Most software is dreadfully laid out, and I don’t exempt my own software from that either. I try to do well, but it’s hard to imagine into the future how another human you’ve never met will understand your UI and menus.