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.
NotarizationStarting 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.
EntitlementsSupport 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.
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=PShS32hcingBuilding and Testing
For general help with building depots and preparing content, please see
Uploading to Steam - 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.
- Create a Steam build for these new depots.
- Set that build to a beta branch with a password.
- 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.
- 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.
- 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.
- In the Steamworks Settings for your app, check the appropriate operating system boxes under Supported Operating Systems.
- Edit your store page and check the appropriate operating system boxes on the Basic Info tab.
- 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.
- Finally, return to your Steamworks Settings page and move the build to the Default branch. (Under the SteamPipe tab > Depots)
- Head over to the Steam Community Hub for your application and post an announcement to let existing and prospective customers know you've updated!