おもちゃラボ

Unityで遊びを作ってます

【Unity】3分でセットアップ!Nintedo SwitchのJoy-Conを使う


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用にコンパイルされてるのが原因になります。

この対策については、次の記事でまとめるので、そちらを参照ください!