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
  4. Dismiss Notice

Game Controller for developing, testing and compatibility on IOS and Android

Discussion in 'General Discussion' started by Redeemer86, Aug 4, 2015.

  1. Redeemer86

    Redeemer86

    Joined:
    Jul 16, 2013
    Posts:
    35
    Good day all,
    I am making a game for iOS and android devices and just started with unity 5. I would like to add Game controller support for my application so that a FPS is controlled using the game controller but I am not sure which Wireless Controller supports both iOS and android devices. I need to get one for testing and development and one that I could suggest the end user to have for running my app.
    I am not able to get a clear idea from my searches.

    Also I know that one is required to map the controller settings in Project settings input but I wish to know of the most suitable method to achieve FPS control in Unity 5.

    Thanks,
    Red
     
  2. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    None of the modern stuff works on both. The old icade stuff did have some stuff that claimed it worked on both android and IOS but it didn't reliably. Currently, they kind of went separate paths. IOS has mFi with controllers like the steelseries stratus, mad catz c.t.r.l.i, etc. and android stayed for the most part generic bluetooth LE (fire tv controller, nvidia shield controller, and many other bluetooth controllers. IOS mFi has some bluetooth but they don't operate the same and they tend to use bluetooth 2.1. Android also supports wired controllers if you have a normal to mini usb adapter so many other controllers (like the xbox 360 controller) will work just fine wired.

    As far as controller support within Unity it's kind of a mess. If you have a particular controller in mind you can generally lookup which button axis to map to. You would use this just like the keyboard/mouse input that I presume you've already made. If you want to use a separate API other than Unity the highest regarded assets on the store are Rewired and InControl.

    I will also have an asset out on the store in a week or two (going through review now) call Auto Gamepad Generator that would allow you to take normal Unity input code from mouse/keyboard and auto generate your controller support for you.
     
    Redeemer86 likes this.
  3. Redeemer86

    Redeemer86

    Joined:
    Jul 16, 2013
    Posts:
    35
    Thanks greggtwep16,

    So nothing works on both. Was afraid of that. I was looking for some controller device that I could use as a standard for development and for the end user of the application.
    I was hoping that the XBox wireless controller would work for development and running the game on both iOS and android. Also I read online that Steelseries boasts support for both(Link: http://www.phonearena.com/news/10-game-controllers-for-smartphones-and-tablets_id39901). Will I be able to develop with it as well? Could you confirm the same ?
    Also I'll look into the options that you have given but atm I am stuck with this controller issue.

    Thanks,
    Red
     
  4. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    While the Steelseries free claims it works for both all you have to do is read the amazon reviews to realize it doesn't. While there probably is an IOS game somewhere that it works with I certainly haven't found it. Steelseries free works fine on Android. I suspect it was the old icade stuff it worked with on IOS (which Unity doesn't support anyways just mFi). If you find one that actually works on both let me know I haven't found one.

    Xbox wireless will work on android with a wireless reciever hooked into the usb slot. But if you have to connect something anyways it might as well be a wired controller. IOS will not work with the xbox controllers.
     
    Redeemer86 likes this.
  5. Redeemer86

    Redeemer86

    Joined:
    Jul 16, 2013
    Posts:
    35
    Then what would you suggest I use as a standard controller to develop the app.
    Any further measures I should consider. Preferably wireless external controllers.

    Thanks,
    Red

    PS - Just found something - Amigo game controller. Got any idea about this one. If it works for both could it be configured in Unity to work for iOS/android app.
     
    Last edited: Aug 4, 2015
  6. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    There is no "standard" controller that I know of. IOS is the most picky. If it's not mFi certified it's not guaranteed to work on IOS. There are tons of other controllers on that platform that "claim" that they work but usually don't. For them to make this claim generally means they are attempting to support iCade or gameloft's custom scheme on IOS. Neither of which helps you with unity which supports mFi. mFi is a certification from apple and stands for "made for Iphone" it is different and is why I suspect nothing works cross platform. Given enough time I'm sure a controller manufacturer could come up with a switch on the back (like the nyko playpad does with it's four modes) with one of the switches being mFi. However, I haven't seen one yet and IOS has the least controller penetration so I expect most manufacturers don't feel it's worth it. That's assuming Apple doesn't forbid it in their certification process.

    Outside of IOS by far the most used controller is the xbox 360 controller. It works on Windows/Mac/Linux/Android/Webplayer/WebGL/Xbox console and perhaps some other platforms I haven't tried. It's not a standard but the most widely adopted. Outside of that I would probably say the Playstation 4 controller (which is bluetooth) but it has a lot less marketshare than the 360 controller which has been out so long.
     
    Redeemer86 likes this.
  7. Redeemer86

    Redeemer86

    Joined:
    Jul 16, 2013
    Posts:
    35
    So if I use an Xbox 360 wireless controller for development and map the input it will work on android at least ? And I can test it on the unity editor. too right ?

    Sorry for asking on but I need to confirm this.
    Thanks,
    Red
     
  8. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    For wired yes. For wireless it will also work but you will need to purchase a usb wireless reciever in order for it to function on anything other than the xbox console. In addition, on android you will also need a regular to micro usb converter, since most android devices only have micro usb.

    Either way will work but in general a wireless controller is not more convenient, so unless you already have one I would get the wired version. Works in game or in the editor.
     
    Redeemer86 likes this.