Steamworks Documentation
Platforms

Overview

This section describes the general workflow and settings necessary for releasing your application on additional operating systems.

Steam provides support for Windows, macOS, and Linux (SteamOS).

You can see platform usage stats from the Steam Hardware Survey to help you make decisions on what platforms you are going to want to support.

Microsoft Windows

Steam officially supports Windows 7 and above. As of January 2019, Steam no longer supports Windows XP and Windows Vista.

Visit the Steamworks Development Discussions - Windows.

Apple macOS

Steam officially supports Intel Mac, OS X version 10.11 (El Capitan), or later.

Notarization
Starting October 14th, 2019 Steam will require all new macOS Applications to be 64-bit and notarized by Apple. If your Mac application already supports 64-bit, please login to Steamworks and select the "macOS -> 64 Bit Binaries Included" checkbox in the "Supported Operating Systems" section for your application. This will ensure that your macOS app will appear as compatible for users who are running Steam on macOS 10.15.



You can read more about Apple's plan to drop support of 32-bit Mac applications in the support article HERE.

If you're not familiar with Apple's 64-bit requirements or the notarization process in macOS you can read more about that HERE.

If you have already had your 64-bit Mac Application Notarized by Apple, please check the App Bundles Are Notarized checkbox in Steamworks as well.

Entitlements
Support for 10.15 (Catalina) requires adding the following entitlements to your build configuration
  • com.apple.security.cs.disable-library-validation (allows loading the Steamworks SDK library and overlay library)
  • com.apple.security.cs.allow-dyld-environment-variables (enables the overlay library to be injected into the game process)
Note: Steam is not currently compatible with the com.apple.security.app-sandbox entitlement. As this entitlement is required for distribution on the Mac App Store, please be sure it is not set in the build uploaded to Steam if building for both stores.

You can find additional information about these entitlements and other app security details HERE.

32-bit Mac apps
Steam users who have purchased older 32-bit Mac apps still have a license to those apps on Steam and will still have access to those apps in their Steam Library. MacOS 32-bit applications will continue to work on macOS 10.14 Mojave and older macOS versions. In addition, Steam users are protected by Steam Play and will be able to play those games on other supported platforms as well at no additional charge. You can read more about ways users can continue playing their Steam library on Mac computers HERE.

Linux & SteamOS

Steam only officially supports Ubuntu running Ubuntu 12.04 LTS or newer and SteamOS, but the Steam for Linux community is extremely resourceful and has managed to run Steam on a large variety of distros. Valve approves of these efforts but does not officially endorse or provide support for them. Steam on Linux supports both x86 and x64, it's highly recommended that you ship 64 bit binaries as the vast majority of users will be running that.

The Steam for Linux Client Github page is very active and contains the bug tracker for the Linux Steam Client.

See Developing for SteamOS and Linux for additional information on getting started.

Search for Linux & SteamOS specific documentation or visit the Steamworks Development Discussions - Linux & SteamOS if you want additional help with Linux and SteamOS.

Steamworks Video Tutorial - Adding New Platforms and Languages

This tutorial walks you through adding new platforms and languages to your game by adding additional depots to your app.
https://www.youtube.com/watch?v=PShS32hcing

Building and Testing

For general help with building depots and preparing content, please see Uploading to Steam
  1. In the Steamworks Settings for your application, create depots for the new operating systems in the Creating & Adding Depots section (under the "SteamPipe" tab>Depots).
    Save this change.
    NOTE: Don't check the boxes under Supported Operating Systems on the General Application Settings tab yet, that will be done when you're ready to release.
  2. Create a Steam build for these new depots.
  3. Set that build to a beta branch with a password.
  4. Update your autogrant package to contain these new depots so Steam will let you download the files. You can find your autogrant package by on the Associated Packages & DLC page.
  5. Test the new versions on whatever operating system you are targeting.

Releasing

When you are ready to release, you will need to make sure that you add the necessary depots to any public packages and update your store page to reflect the new content available.
  1. Add the new depots to all existing packages of the game (so users will get them). You can see all packages associated with your application on the Associated Packages & DLC page.
  2. In the Steamworks Settings for your app, check the appropriate operating system boxes under Supported Operating Systems.
  3. Edit your store page and check the appropriate operating system boxes on the Basic Info tab.
  4. Then scroll down and enter the corresponding system requirements. Preview your store page and then publish your changes when you're happy with how the system requirements appear.
  5. Finally, return to your Steamworks Settings page and move the build to the Default branch. (Under the SteamPipe tab > Depots)
  6. Head over to the Steam Community Hub for your application and post an announcement to let existing and prospective customers know you've updated!