Wiimote - Unity New Input System Custom Device

Adds Wiimote and Nunchuck support to your Unity game.

Adds a custom device to Unity's Input System, this custom device allows the game to get binary input reports and translate it into useable inputs, as well as send back binary output reports to set the Wiimote's report mode. The Wiimote sends all of its buttons as well as it accelerometer data, same thing for the Nunchuck which also sends its stick data once activated.

I worked on the entirety of the code. I also researched various wikis to learn how the Wiimote communicates and what reports it expects. I had to learn how to read input reports, send back input reports, activate the nunchuck, and detect certain input reports which don't contain input data but instead contain a Wiimote status update. Since the Wiimote has multiple reports mode I chose the one which would offer the widest feature support. This device allows you to set its player LEDs, it also supports the haptic interfaces provided by Unity for devices.

Posseslime implements this device and supports playing using a Wiimote and Nunchuck. The Possesslime Controller System supports the detection of the device as well.

Don't forget to send feedbacks !