UnityでNintendo SwitchのJoy-Çonを使いたい場合、JoyconLibというライブラリを利用するのが一番簡単です。
ここではJoyconLibの導入方法を説明します。
JoyConLibのインポート
下記のサイトから「JoyconLib06.unitypackage」をダウンロードしてください。
github.com
JoyconLib06のUnityパッケージがダウンロードできたら、プロジェクトにドラッグ&ドロップしてImportしてください。Scenes/SampleSceneのシーンを開くと、下記のような画面になります。
プログラムの修正
Unityのバージョンによっては、実行するとFormatExceptionのエラーが大量に出ます。
そのため、先にプログラムを修正しておきましょう。
JoyconLib_scriptsフォルダのJoycon.csを開いてください。
このプログラムの370行目と371行目をコメントアウトします。これで実行時のエラーが出なくなります。
Joy-Conの接続
Joy-ConのSyncボタンを押してください。LEDゲージが点滅状態になります。
この状態で、環境設定→Bluetoothを開きます(Macの場合)。
Bluetoothデバイスの候補にJoy-Con(L)、Joy-Con(R)が表示されるので、それぞれ「接続」を押して、PCと接続します。
Unityで実行する
実行すると2つのキューブが表示されます。それぞれ左Joy-Conと右Joy-Conに対応しています。Joy-Conを動かすと、Joy-Conの姿勢にあわせて、キューブが回転します。
Bluetooth接続が切断された場合
PCをスリープするなどしてJoy-Conとの通信が切断された状態で、Unityのプログラムを実行すると、「No Joy-Cons found!」というエラーがでます。
この場合は、PCにJoy-Conを再接続すればOKです。ただ、再接続しても同様のエラーが出る場合、Bluetoothの設定を削除して、Syncからやり直す必要があります。
環境設定からJoy-Con(L)/(R)の上で右クリック→「削除」を選択してください。この後、↑の「Joy-Conの接続」からやり直してください。
Apple SiliconのMacを使っている場合
このJoyconLibをM1/M2 Macで使おうとすると、DllNotFoundExceptionが発生します。これは、JoyconLibで使われているPluginがIntel Mac用にコンパイルされてるのが原因になります。
この対策については、次の記事でまとめるので、そちらを参照ください!