The Taptic Engine API is exposed in iOS 10 for iPhone 7/7+. Look into the UIFeedbackGenerator class if you want to hook into this API via a Unity iOS plugin.
I guess I was wondering when we'd see an official Unity API for it now that it is exposed in iOS 10. If someone released a plugin, would something platform-specific like that work in testing via Unity Remote?
I would also like to have Unity support the Taptic Engine. To any plugin makers I'd be willing to pay for a plugin while we wait for Unity to include support.
Not likely - it would probably require deploying to an actual device, which is the case for most Unity projects containing iOS plugin functionality.
That's what I figured. Though I just took a peak at the API documentation you linked above and its pretty disappointing. Was hoping for something more akin to the Vive's haptic feedback API where you can modulate intensity and frequency for different effects. This seems like there are just 3 different canned styles they offer (impactOccurred, selectionChanged and notificationOccurred). I get that opening it up to long vibrations could be a big drain on battery, but what they gave us is kinda boring
There are actually 7 different types of haptic feedback that can currently be triggered with the Taptic Engine: - Impacts have 3 intensities (light, medium, heavy) - Notifications have 3 unique types (success, warning, error) - Selection Occurred is a single type While I agree that it would've been nice to be able to dial in an intensity for impact feedback with some numerical value, one can still get a good amount of expressiveness from the three impact types that Apple has exposed. The notification feedback types are interesting and well designed IMO - they are really sequences of vibrations that actually do a pretty good job at communicating the associated notification state. For example, the "success" notification is really a sequence of two vibrations that seem to ascend in intensity and are timed in such a way that it feels kind of like the phone is giving a rubber stamp of approval (funny way of describing it I know, but that's what it feels like to me), whereas the error notification is a very rapid back-and-forth vibration that (again, to me) feels like a head shaking back and forth to say "no". It's really quite an interesting sensation that can't be accurately described in text, you really have to feel it The selection occurred is a single low intensity vibration that makes sense when you consider Apple's intended use for it, which is providing simple feedback to communicate that a user selection has changed (like on a UI slider, or in iOS' date picker UI).
Just wanted to check in on this thread again to announce that I've published an asset which allows you to use the entire Taptic Engine haptic feedback API in your Unity iOS games! It's called iOS Haptic and is $5 on the Asset Store: https://www.assetstore.unity3d.com/en/#!/content/76017 Note: Currently the Taptic Engine API is only supported for iPhone 7 and iPhone 7 Plus.
I haven't installed 5.5 yet but I expect it would run fine. I just had a look at the release notes and nothing jumped out at me, and there haven't been any changes to the iOS API since it was submitted either. I will install a copy this week to confirm.
3D touch has native support in Unity using Touch.pressure. See https://docs.unity3d.com/ScriptReference/Touch-pressure.html for more info!
Thanks @aihodge for your Taptic Engine package. Just installed it and it works great! (Side note: I am on 2017.1 — so it is still compatible.)
For those who have download the iOS Haptic asset, I just released a new update for it which greatly expands the customizability of haptic feedback: https://assetstore.unity.com/packages/tools/integration/ios-haptic-76017 Now you can dial in the exact feedback you want using the new intensity and sharpness parameters. You can also play transient and continuous (up to 30 seconds long) haptic events, and update their intensity and sharpness values while they are being run.