Adding iCade to Unity

iCade and iCade 8-bitty are bluetooth game controllers that passes keyboard button presses to your portable device. They make great controllers for touch-screen only devices and even for playing on a laptop.

One of the things I’ve been looking everywhere for is an easy way to include an iCade controller in my Unity projects. The only one I could find is the plugin from Prime31 for $35. It seemed odd to me that there is a free SDK to make iCade work with native Xcode projects, but no free Unity integration. So I decided to write it and share it.

Download the scripts from Github. The following videos explain how to test for iCade button presses, and make your iOS device send the button presses to your Unity game.

Video part 1 covers adding the scripting to your project to detect for button presses.

Video part 2 covers setting up Xcode to sync the button presses.

Below is an image showing the names to use in your scripts for each button.

Button layout for iCade 8-bitty.

Button layout for iCade 8-bitty.

// Examples

// isDown returns true if the button is down this frame
if (ICade.instance.isDown("UP")) {
Debug.Log("UP button is held down.");

// justPressed returns true only on the single frame when the button was pressed
if (ICade.instance.justPressed("Y")) {
Debug.Log("Y button pressed.");

// justReleased returns true only on the single frame when the button was let go
if (ICade.instance.justReleased("Y")) {
Debug.Log("Y button released.");

I haven’t used the Prime31 plugin, so it may work better than my way.