Classes

The following classes are available globally.

  • Steam Controllers are available to an application that links to SteamController.framework. To detect connected or pairing Steam Controllers, call scanForControllers on SteamControllerManager. Because of the way bluetooth accessories communicate with iOS apps, it’s not possible to detect the connection automatically using public API, so you will need to call scanForControllers accordingly to ensure they’re available when needed (e.g. before starting a game, after a controller is disconnected).

    Once connected, they work in the same way as the native GCGameController from GameController.framework, and can be accessed in the same ways:

    1. Querying for the the current array of controllers using [GCController controllers].
    2. Registering for Connection/Disconnection notifications from NSNotificationCenter.

    Steam Controllers are represented by the SteamController class, a subclass of GCController. It implements the GCGamepad and GCExtendedGamepad profiles, and has additional functionality relevant to the Steam Controller:

    • Changing the mapping of the trackpads and stick.
    • Requiring clicking on the trackpads for input to be sent.
    • Identifying a controller by playing a tune on it.
    • Handling combinations of Steam button + another button.
    See more

    Declaration

    Objective-C

    @interface SteamController : GCController

    Swift

    class SteamController : GCController
  • SteamControllerManager handles the connection and disconnection of Steam Controllers, and inserts connected Steam Controllers into the array of controllers returned by [GCController controllers].

    See more

    Declaration

    Objective-C

    @interface SteamControllerManager : NSObject

    Swift

    class SteamControllerManager : NSObject