Steamworks Documentation
Getting Started for Players

Global Settings

Before we start a game we'll need to make some basic choices and set some global settings in Big Picture mode.

Step 1: Pick a Controller

If you're reading this, it's presumably because you want to use a certain controller with a certain game. If you happen to have more than one, you should start by picking which one you want to use -- various models are supported, and some have unique features:

Steam Input Devices

controllers.png

Once you decide what controller you want to use, make sure to connect it to your computer, and if it uses batteries, make sure that it is charged.

Next, we'll visit the controller settings. You can access these through either the desktop client or Big Picture mode.

Step 2: Controller Settings (Desktop Client)


In the desktop client, select "Steam" and then select "Settings."

desktop_settings.png

From there, select "Controller."

desktop_settings_controller.png

From here you can change the general controller settings, as well as change three different global configurations.

Let's go into general controller settings first:

controller_settings_desktop.png

If you are using a PlayStation 4, Xbox One, Xbox 360, or generic controller, make sure you have the corresponding configuration support boxes checked. Also make sure your controller(s) is/are plugged in. All detected controllers compatible with the configurator will show up on this screen.

Now, let's go back to the three global configurations from the previous. The first two are fairly straight-forward:

  • The Big Picture Configuration is your input bindings for navigating Big Picture mode with a controller.
  • The Desktop Configuration is your input bindings for navigating the Desktop with a controller.
  • The Guide Button Chord Configuration requires a bit more explanation.

A "chord" is a combination of button inputs -- you might be familiar with the keyboard chords "Ctrl+C" and "Ctrl+F" for "copy" and "find." The "Guide Button Chord Configuration" is thus a series of inputs that perform certain actions when you press them along with the Guide button. What's the "Guide" button? It's the big central branded button on your controller that's typically reserved for system use -- the one with the Steam logo on the Steam controller, the Xbox logo on Xbox controllers, the PlayStation logo on PlayStation controllers, etc.

Let's take a quick peek:

guide_chord_config.png

Because this is a special configuration, it's assumed that you've already got the Guide button pressed. So if you press the left analog stick up while also holding down the PlayStation button, you'll increase the volume. If you press PlayStation + Triangle, you'll turn off the controller, and so on. This is the only way you can set bindings for the Guide button in any configuration.

Step 3: Controller Settings (Big Picture Mode)


Enter Big Picture mode by clicking the bpicon.PNG icon in the upper right corner of the Steam client.

bpsteamclient.PNG


Click the gear icon to adjust settings:

getting_started_bp_settings.png

Then click "Controller Settings":

getting_started_bp_settings_controller.png

If you are using a PlayStation 4, Xbox One, Xbox 360, or generic controller, make sure you have the corresponding configuration support boxes checked:

getting_started_ds4_xb_config.png

Also make sure your controller(s) is/are plugged in. All detected controllers compatible with the configurator will show up on this screen.

Next, we'll show you how to configure your controller for a specific game, in both Big Picture mode and the desktop client.

Step 4: Pick a Game (Desktop Client)

Figure out what game you want to use your controller with and right click on it in your library.

desktop_game_select.png
NOTE: Disclosure: In this example I'm picking my own game because I have full control of its Steam Input API integration and can use it to demonstrate certain features.

A context menu will now appear.

You Did Plug the Controller in, Right?
If you don't have a controller plugged in, you won't have the "Edit Steam Controller Configuration..." option, so make sure you've plugged in your device:

desktop_game_select_context_1.png

With your device plugged in and the correct menu showing, select "Edit Steam Controller Configuration..."

This will open the configuration screen.

desktop_game_select_context.png

If you are using the desktop client, you can skip to Step 5 as the configuration screen is essentially the same for both Big Picture mode and the desktop client.

Step 4: Pick a Game (Big Picture Mode)


Okay, so you're using Big Picture mode instead and have it launched. First, figure out what game you want to use your controller with and open its menu from Big Picture mode.

getting_started_select_game_bp.png
NOTE: Disclosure: In this example I'm picking my own game because I have full control of its Steam Input API integration and can use it to demonstrate certain features.

When the game's menu comes up, select "Manage Game" in the sidebar:

getting_started_manage_game.png

You Did Plug the Controller in, Right?
If you don't have a controller plugged in, you will see a menu like this:

getting_started_manage_options.png

Once you plug in the controller, you should see something like this:

getting_started_manage_controller_config.png

Select "Controller Configuration" to open up the controller configuration menu.

Step 5: Controller Configuration


Here's what you'll see for a game that has implemented native API support for the Steam Input configurator:

dq_config.png

Note that much of what you see here is specific to this particular game and will be different in other games.

The four buttons at the top -- Editor Controls, Battle Controls, Map Controls, and Menu Controls -- are action sets. Whenever you bring up an in-game menu, the game sends a signal via the API to activate the "Menu Controls" action set. When the player visits the overworld, the game switches to "Map Controls", and "Battle Controls" activates when a battle begins. All this happens automatically without the users' input.

Action bindings for each action set are entirely independent of each other, so swapping A and B for Cancel / Select in "Menu Controls" will not affect anything in "Battle Controls", for instance.

To change bindings, click on any of the controller regions. Here's what pops up when you select the face buttons:

dq_config_face_buttons_1.png

From here you can choose different actions from each of the button input drop-down menus:

dq_config_face_buttons_choose.png

Note that for this game, all of these are native in-game actions that have been defined by the developer. You can change what actions are bound to which inputs by selecting the input, and choosing an action from the list.

Now all that's left is to start playing your game!

PlayStation 4 Controllers and Remapping Tools


Note that if you're using an external remapping tool such as DS4Window or InputMapper, Steam Input will not attempt to use your PS4 Controller directly and instead will interface with the emulated Xbox 360 controller generated by the remapping tool. (If you are using a PS4 Controller with an external remapping tool and notice that Steam is detecting an Xbox 360 controller rather than a PS4 Controller, this is why)

Steam will display a warning if you find yourself in this situation:

controller-remap.png

Legacy Mode Bindings


But what if the game doesn't have native Steam Input support? Let's take a look at legacy mode.

Here's an RPG called Cosmic Star Heroine, which doesn't implement the native Steam Input API, and unlike Defender's Quest, doesn't have particularly complicated controls.

config_csh.png

We're greeted by a default legacy configuration, selected from one of several templates:

gamepad_w_camera_1.png

Here, instead of binding physical inputs to native in-game actions, physical inputs are simply bound to other physical inputs. The face buttons, shoulder buttons, analog triggers, start and back buttons, and the left joystick are all mapped to their XInput equivalents. The left trackpad's input source mode is set to "Dpad", with XInput Dpad buttons bound to each direction. The right trackpad's input source mode is set to "Mouse Joystick", with right-stick-click bound to the right trackpad's click action.

Let's say I want to rebind the "Y" button on the button pad. First, click on the button pad:

gamepad_w_camera_bpad.png

Then click on the sub-input you want to edit. In this case, the "Y" button:

gamepad_w_camera_bpad_y.png

Here you see the legacy input binding menu. You can give this binding a name, as well as choose any of the available hardware inputs to bind to it.

legacy_bind.png

You can bind keyboard buttons, mouse buttons, and even gamepad buttons (emulated gamepad buttons will be seen by the game as XInput events). You can also bind multiple buttons to a single input (Toggle Multi-Button On), as well as set special conditions for the input (Show Activators), but we'll get into those later.

Further Reading


This should give you a brief overview about how to start playing around with the Steam Input configurator. If you'd like to learn more, here's some articles to get you started: