Skinetic Plugin for Unity
Skinetic SDK plugin is conceived for Unity 2019.4 and above.
The examples were tested on Windows:
- 2019.4
- 2020.3
- 2021.3
- 2022.2
As for Android, currently the version supported are:
- 2020.3.14 and above
- 2021.1.16 and above
- 2022
Import and prerequisite
To import the Skinetic SDK package in any project, an archive is provided that you can decompress anywhere on your computer.
Then you can manually import it using Unity’s Package Manager using Windows → Package Manager
. Then click on + → Add package from disk…
and select the folder SkineticSDK.
You can also directly add this folder into the Packages folder of your project which will add it automatically to your project as an embedded package (See Unity’s manual).
Building for Windows
In order to work properly on Windows x64, the Microsoft Visual C++ Redistribuable need to be installed on the computer. They are often already available as various software depend on it.
If they are missing from the computer, they can be obtained on Microsoft Learn.
Building for Android
In order to work properly on Android devices, some options need to be set in the Unity project’s settings:
Under
Project settings > Player > Publishing Settings > Build
Enable
Custom Main Gradle Template
Enable
Custom Gradle Properties Template
In the Asset folder, two files are automatically added in the folder
Asset/Plugins/Android/
;- Edit the
mainTemplate.gradle
file - Add in the following line in the dependencies section:
implementation 'androidx.appcompat:appcompat:1.5.0'
- Edit the
gradleTemplate.properties
file - Add in the following lines at the end:
android.useAndroidX=true
android.enableJetifier=true
- Edit the
If the settings are not correctly set, the Bluetooth will always fail to find or connect to any devices.
Plugin General Overview
This plugin is designed to provide easy access to the Skinetic SDK inside Unity for both Android and Windows. When compiling your project, the corresponding platform is automatically enabled, no change is needed to handle the haptic layer.
The plugin relies on several key scripts within the Skinetic namespace:
- SkineticDevice Component: A custom component to handle an instance of a Skinetic device.
- PatternAsset ScriptableObject: A custom ScriptableObject containing a Skinetic haptic pattern (.spn).
- HapticEffect Component: A custom component representing an instance of the referenced pattern that can be configured to specify the haptic effect’s rendering behavior.
Licensing Information
Skinetic Plugin for Unity is an integration of Skinetic SDK, which is available under two types of licenses to accommodate different usage scenarios - Commercial and Non-Commercial.
Commercial License
If you are using this plugin for commercial purposes, please refer to the SkineticSDK_commercial_license.pdf
file located in the Licenses folder. Ensure that you read and comply with the terms outlined in this file for commercial usage.
Non-Commercial License
For non-commercial use of this plugin, please consult the SkineticSDK_non_commercial_license.pdf
file within the Licenses folder. Review the terms specified in the file to ensure compliance with the non-commercial licensing agreement.
Feel free to reach out if you have any questions or require further assistance regarding licensing or usage of Skinetic SDK or its plugins.
Changelogs
Last Version: [1.3.0] - 2023-12-19
Added
- Experimental Audio Stream: Streaming haptic to standard audio devices
- Wifi: Can detect and connect to Skinetic device over Wifi4
- Documentation: Generation of online API documentation on unitouch.actronika.com
Older versions
[1.2.1] - 2023-10-09
Added
- HSD mk.II USB: Detection and connection to HSD mk.II devices
[1.2.0] - 2023-06-21
Added
- Global Boost: The boost increase the overall intensity of all haptic effects.
- Pattern and Effect Boost: Each instance has its own boost value using the default Pattern boost, which can be overridden on play.
- Transformation: Shape-based patterns can be transformed on play by passing three additional parameters: height translation, heading rotation and tilting rotation.
- Spatial Inversion and Addition: An effect can be triggered with right/left, up/down and front/back inversion or addition.
- Effect Accumulation strategy: A fallback-pattern feature to alleviate haptic confusion.
Changed
- Stop Fadeout: Remove any duration limitation to allow longer fadeout.
- Number of simultaneous playing simultaneous samples increased to 10: compatible with the Skinetic firmware 1.1.3 or higher.
Fixed
- Boost are now scaled by the volume envelop of the samples
[1.1.2] - 2023-05-23
Changed
- Documentation: Unity Project configuration for Android build
[1.1.1] - 2023-02-20
Changed
- Minor Fix