英語版 README は README.md にあります。
UnityJoyCon は Nintendo Switch の Joy-Con を Unity Input System で扱えるようにするライブラリです。 Joy-Con を HID デバイスとして自動認識し、ボタン・スティック・加速度・ジャイロなどのデータを InputDevice から取得できます。 また、Joy-Con の HID 振動機能もサポートしています。
- Unity Input System へのレイアウトを自動登録し、左右 Joy-Con を
SwitchJoyConLeftHID/SwitchJoyConRightHIDとして認識 - ボタン / スティック / 加速度 / ジャイロを標準の InputControl として取得可能
- 相補フィルタによる加速度・ジャイロからの姿勢推定をサポート
- Unity Input System デフォルトの
IDualMotorRumble以外にも、 HID 振動機能をサポート - ネイティブプラグイン不要でクロスプラットフォーム対応(Windows / macOS / Linux)
Package Manager で https://github.com/tuatmcc/UnityJoyCon.git?path=Packages/com.tuatmcc.unityjoycon#v0.2.1 を Git パッケージとして追加します。
アップデートしたい場合は #v0.2.1 の部分を最新のバージョンに変更してください。
Packages/manifest.json を開き、dependencies セクションに以下を追加します。
{
"dependencies": {
+ "com.tuatmcc.unityjoycon": "https://github.com/tuatmcc/UnityJoyCon.git?path=Packages/com.tuatmcc.unityjoycon#v0.2.1"
}
}Window > Package Managerを開きます。- 左上の
+ボタンからAdd package from git URL...を選択します。 https://github.com/tuatmcc/UnityJoyCon.git?path=Packages/com.tuatmcc.unityjoycon#v0.2.1を入力してAddします。
パッケージ導入後はレイアウト登録と初期化が自動で行われ、Joy-Con を OS 側でペアリングするだけで Unity Input System に現れます。手動の初期化や特別なセットアップは不要です。
左 Joy-Con は SwitchJoyConLeftHID、右 Joy-Con は SwitchJoyConRightHID というデバイス名で認識されます。
Input Actions アセット上で通常のゲームパッドと同様に値を扱えます。
スクリプトから直接取得する場合も InputSystem.GetDevice<SwitchJoyConLeftHID>() などでデバイスを取得し、値を参照することが可能です。
実際のコード例は Assets/JoyConSample/JoyConLeft.cs および Assets/JoyConSample/JoyConRight.cs を参照してください。
Assets/JoyConSample/JoyConSample.unity にサンプルシーンが含まれています。
このシーンでは Joy-Con のボタン・スティック・IMU データを UI に表示する簡単なデモが実装されています。
また、ZR ボタンを押すと右 Joy-Con が振動します。
Joy-Con をペアリングしてシーンを再生することで、動作確認や使用例を確認できます。
このパッケージは MIT ライセンスのもとで公開されています。詳細は LICENSE を参照してください。
