Steamworks Documentation
Uploading Steam Input Configs to Steam Workshop
For new titles we no longer recommend using the Steam Workshop for managing official game configurations. Instead recommend to use Action Manifest Files bundled with your game depots as they are easier to update for developers and manage differences within game-branches or when launching the game via the IDE for local development. This page exists to document the process for game which are already using the Steam Workshop option for configurations.

Once your game is working with the controller, you're ready to publish. You'll need to release your new game update and make your configuration the official one. Official configurations are automatically loaded when a player launches your game for the first time. This allows users to simply fire up your game and play without needing to go into the configuration screen at all.

Here's the recommended process:

Step 1 - Update your game

  • Update your Steam depot with your new version of the game

Step 2 - Publish your configuration

  • Run Steam in Big Picture mode and navigate to the default configuration you created in the controller configuration.
  • Hit the (Y) button, or click the "Save As" button at the bottom of the screen.
  • Select the desired localized title & description in the popup, change it to a PUBLIC profile, and click the PUBLISH button.
  • You will get a confirmation, and the file ID of the public configuration. Copy/save the ID.

Step 3 - Make the configuration official

  • Open up your game's page on the Steamworks partner website.
  • Select "Steam Input" from the "Application" tab.

    steamworks_steam_input.png

  • Scroll to the section called "Steam Input Template". Select the "Custom Configuration" option in the dropdown. (If you were not planning on adding native support and just want to select from common legacy mode presets, here is where you would do so).

    steamworks_steam_input_custom_config.png

    And from the selection below, select "Add Custom Configuration."

    steamworks_steam_controller_custom2.png

  • Paste the file ID of your public configuration into the box, and click the OK button.

    steamworks_steam_controller_custom3.png

  • Publish your app changes in the partner site as usual.

If you'd like, you can also specify multiple official configurations for your game. You may want to create an official "Southpaw" (left-handed) mode, for example.

To do this, simply create multiple configurations and publish them each via step 2. Then, in step 3, paste all the file IDs for your configurations into the box, separated by the comma character (,) characters. The first one on the list will be considered the highest priority, and will be picked by default for new players. Don't forget to make Titles & Descriptions for each of them.

When your official configurations have been posted they will appear in the "Custom Configuration" section:

steamworks_steam_input_branch_settings.png

For each configuration you can get a direct link, see what controller type it is for, control which beta branches it is available on, or remove it entirely. If you create a new official configuration, you can use the remove / add functions in this section to replace an existing one.

Opting Controllers into Steam Input


Next, you should set up what kind of controllers use Steam Input - if you are using Steam Input API you'll want to make sure to check the "Any Future Devices" option to make sure new controllers work by default without you having to adjust settings after support ships in Steam.

steamworks_steam_input_optin_settings.png

Checking these boxes will cause those controller types to make use of Steam Input rather than their standard gamepad input protocols.

Updating your official configurations

There are two ways to update your configuration.
  1. To make a breaking change such as adding/removing a new action set or adding actions that must be bound upload a new configuration for each supported controller type and remove the old configuration. You should also go into the Steam Input Configuration browser with the account that created the configuration and mark it deleted by hitting:

    steamworks_remove_community_config.png
  2. To make an optional change such as adding a new language for your action name localization or adding a new optional action that does not need to be bound in every configuration, upload a single new configuration and use the "Use Action Block" checkbox to make sure the action block of that configuration is used preferentially on the selected branches.

    steamworks_steam_input_use_action_block.png