デモアプリを Unity で作るとする。Ardity というアセットを使うと UART の読み書きができます。(ほかにもあります)
でも、既存のアセット類を使いたい。Unity ちゃんを(いろいろなチュートリアルで使われているように) standard-assets-characters で楽して歩かせたい、歩かせることに時間を割きたくない、少しくらい気に入らないところがあっても、歩いてジャンプすればいいのだ、ということはよくある。
となると、自作の機器が Unity からUSBゲームパッドに見えると嬉しい。
あります!
仮想ジョイパッドドライバ http://vjoystick.sourceforge.net/site/index.php/77-vjoy/84-homepage-v200
UART に限らず、何でも joypad に見せることができます。
最近は direct input は古くて、 xinput だよね(xinputしか対応してないんだよね)
何とかなります!
XOutput https://github.com/csutorasa/XOutput
direct input を xinput にリダイレクト?してくれます
本物のUSBで作りたい?
あります!
・Arduino micro など ATmega32u4 とか、USBを持っているものを使う
・digispark という、Arduino 環境で開発できる、ソフトウェアで USB 実装しているマイコンが容易に入手可能。
※(ゲームコントローラを作りたいという話をしてますが、)環境によっては、CDC(仮想シリアルポート)のライブラリは BSoD で Windows が死ぬ