Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice
  3. Join us on November 16th, 2023, between 1 pm and 9 pm CET for Ask the Experts Online on Discord and on Unity Discussions.
    Dismiss Notice

Does MFi wireless gamepads work under iOS 9.2 and Unity 5.3?

Discussion in 'iOS and tvOS' started by joelkoz, Feb 25, 2016.

  1. joelkoz

    joelkoz

    Joined:
    Oct 27, 2015
    Posts:
    8
    I've discovered that Apple broke iCade support in iOS 9.2. I have a few iCade controllers, and while they will pair with my iPhone, I could not get any Unity code to react to it. On a whim, I paired the controller with an old iPad that had iOS 9.0 on it, and lo and behold, it worked. So, it looks like iCade is shot for iOS 9.2

    So, I went out and purchased two different MFi bluetooth controllers. I can not, for the life of me, to get Unity to recognize them. Both controllers (a Stratus Steele Series, and a Mad Catz C.T.R.L) both pair with my iPhone. The Mad Catz app recognizes the controller and shows its working. BUT:

    When I run a Unity app and call Input.GetJoystickNames(), it always returns an empty list.

    I even located the Classes/iPhone_Sensors.mm code in the XCode project and stuck some debug lines in there. I know the joystick initialization and data reading code is getting called, but the "controller count" in there returns zero.

    Can anyone here verify that it DOES in fact work? Simply knowing if its my environment may help. I have iOS 9.2 on an iPhone 6s Plus, and I'm using Unity 5.3.2f1 Personal.
     
  2. joelkoz

    joelkoz

    Joined:
    Oct 27, 2015
    Posts:
    8