Instead, it is recommended that the image concisely represents your announcement, including any announcement specific graphics or branding. Example: to take a specific event like TI6, Valve would create a cover image focusing on "The International" rather than a generic use of "Dota 2". Example cover images: [docimg=capsule_examples.jpg]capsule_examples.jpg[/docimg] When viewed inside the Steam Library: [docimg=event_example_home_862.jpg]event_example_home_862.jpg[/docimg] [section]Event/Announcement Detail Page[/section] [b]The guts of your event/announcement.…
In cases where an API key is required, it can be provided either as a standard parameter or by setting the 'x-webapi-key' request header value. [section=user-keys]User Keys[/section] The standard user keys are available to everyone, all that is required is a Steam account and the domain name that will be associated with this key. …
This will make your product visible to Valve for review and approval prior to release. Please submit your request for review at least 7 business days before you want your page live. [b]Posting:[/b] Once your page has been approved, you will need to click the green "Post as Coming Soon" button for it to show up publicly as coming soon. …
Instead, we ask that you use the new Developer & Publisher homepage for these activities. For clarity, this includes pages such as "Developer X's July Sale", "Publisher X's Autumn Sale", and other adhoc pages. Developer, Publisher, and Franchise sale pages are still available once a calendar year regardless of curation status. …
[/b] You can sign up as a limited Steamworks account by following [url=https://partner.steamgames.com/newpartner/?signup_type=6&force_new=1]this link[/url]. This sign-up process includes just the NDA and a collection of company or individual contact information. …
Our review of your store presence typically takes 3-5 business days to complete, but you'll want to submit your page for review at least 7 days before you want it live to account for potential changes you'll need to make. We'll send you any feedback if necessary, or if none is necessary, we'll mark your store page as "Ready for release". …
The Steam folder will already have a very similarly named folder so make sure you've put it in the "controller_config" folder and not the "controller_base" folder. Rename the file to the following: "game_actions_X.vdf", where X is your game's Steam AppID. If you don't know what your game's Steam AppID is, it can be found by logging into your Steam partner site. [callout] [h3]NOTE: These are the typical controller_config locations for each platform:[/h3] Windows: C:\Program Files (x86)\Steam\controller_config macOS: ~/Library/Application Support/Steam/Steam.AppBundle/Steam/Contents/MacOS/controller_config Linux: ~/.steam/steam/controller_config [/callout] Now open up the file in your favorite text editor. …
For example, if you know your updates during Early Access will break save files, make sure you tell players up front. And say this everywhere you sell your Steam keys. 6.[b] [i]Don't launch in Early Access without a playable game.[/i][/b] If you have a tech demo, but not much gameplay yet, then it’s probably too early to launch in Early Access. …
Even if you are asking for feedback that will impact gameplay, customers need something to start with in order to give informed feedback and suggestions. 7. [b][i]Don't launch in Early Access if you are finished with development.[/i] [/b]If you have all your gameplay defined already and are just looking for final bug testing, then Early Access isn’t right for you. …
[subsection]Background[/subsection] You can upload a custom background image, which includes your product branding if you wish to change the overall feel of the store. This image should be 1920px x 1080px and the edges should fade to a solid background color which you can also specify. [subsection]Top-level filters[/subsection] You can associate a top-level filter with one or more tags, which are delimited by the ";" character. …
[section]Customized Tags[/section] [docimg=custom_tags_01.jpg]custom_tags_01.jpg[/docimg] You can also customize the tags that are shown in the left-most column of your tabbed area. You can hit the blue X to remove tags that aren't relevant to the games you make and you can use the controls below them to add other tags that are more relevant. …
Unless others noted below, requests should be HTTP POST requests presented as form data and should set this header: [code]Content-Type: application/x-www-form-urlencoded[/code] [Section=RetrieveSteamID]Retrieving the User's SteamID[/Section] Once you have an OAuth token for a user, you can make a server to server call to securely get the SteamID for the user associated with that token by calling: [code]https://api.steampowered.com/ISteamUserOAuth/GetTokenDetails/v1/?…
. [*] If you need to specify another port then 80, it must be "ip:port" in quotes [*] Don't add "http://" in front, HTTPS is not supported [/list] Note: The default location of the Steam executable is: [list] [*] [b]For Windows[/b]: [code]C:\Program Files (x86)\Steam\[/code] [*] [b]For macOS[/b]: [code]Steam.app/contents/macOS/[/code] [*] [b]For Linux[/b]: [code]~/.local/share/Steam/[/code] [/list] [b]Note[/b] As of September 2026, Steam will begin requiring newly-created "local" app branches to be [b]password-protected[/b]. …
[subsection=FaceButtons]Face buttons[/subsection] [b]Digital[/b] The A, B, X, and Y buttons follow the physical layout and coloring of the XInput standard seen in devices like the Xbox 360 controller. [docimg=steam_controller_face.png]steam_controller_face.png[/docimg] [subsection=Joystick]Joystick[/subsection] [b]Analog, 2 axes[/b] (+ digital "click") The analog joystick is essentially identical to a traditional controller's, including digital "click the stick" functionality. …
[list=1] [*] [b]0[/b] - Normal wrap (most protection) [*] [b]6[/b] - Compatibility mode (disables obfuscation) [*] [b]32[/b] - Skip debugger check [*] [b]38[/b] - compatibility mode and also skip debugger check (least protection) [/list] [/list] Example run_build.bat script to login, apply DRM, build and upload the build to Steam (where App ID is 480): [code] builder\steamcmd.exe +login mysteamaccount +drm_wrap 480 "D:\src\steamworkssdk\steamworksexample\release\steamworksexample.exe" "D:\src\steamworkssdk\tools\ContentBuilder\content\windows_content\SteamworksExample.exe" drmtoolp 0 +run_app_build ..…
[subsection]Customer Review Guidelines[/subsection] We ask that customers adhere to the following [url=https://help.steampowered.com/en/faqs/view/6862-8119-C23E-EA7B#reviews]Rules and Guidelines for User Reviews[/url]: [list][*]Do not direct abuse or insults at other players, developers, or groups. [*]Do not include threats or encouragement of harm. [*]Do not use reviews for commercial purposes. …
To flag a review: [olist] [*]Click the "Recommended" or "Not Recommended" headline of a review to open up the detail view of that review. [*]You will find a orange section in the right-hand column for "moderator controls" where you will see a drop-down for flagging the review. [*]Select "Abusive" if the review contains threats, wishes of harm, or is otherwise abusive to developers or users. [*]Select "Off-Topic" If the review is uninformative or not related to the product, the development, or the experience of being part of the community. [*]Select "Violates Community Guidelines" If the review violates other [url=https://help.steampowered.com/en/faqs/view/6862-8119-C23E-EA7B#reviews]review guidelines[/url]. [*]With either choice, you will get a confirmation dialogue. Then select "OK". [/olist] [callout]Reviews that are confirmed to violate Steam's rules will be banned, which removes them from Steam and removes their contribution to a product's review score. …
[docimg=clicks_conversions.png]clicks_conversions.png[/docimg] The report also shows 6 of the 20 visits were by customers signed in to Steam. Steamworks attributed 2 wishlist additions, and 1 purchase, to the 6 "Tracked Visits". …
[/td][/tr] [tr][td][doclink=features/multiplayer][/doclink][/td][td]Steam started as a multiplayer gaming platform with the release of Counter-Strike 1.6 and multiplayer has always been a huge focus. Steam provides many different features and APIs to improve the multiplayer experience for developers and customers alike. …
All requests should be sent using HTTP 1.1 and use a secure TLS connection when possible. The Content-Type must be [code-inline]application/x-www-form-urlencoded[/code-inline] and the POST parameters must be in the body of the request in standard form urlencoding format. Text must be transmitted as UTF-8. …
. [*] cart - is item definition index numbers separated by commas, with optional xN or *N quantity suffix. Order does not matter. Duplicates are treated as additional quantity. [*] total - is the expected total cost of the cart. …
[section]Getting Started[/section] [b]NOTE:[/b] The Steamworks API officially supports C++, using Microsoft Visual Studio 2008+ on Microsoft Windows, GCC 4.6+ and Clang 3.0+ on macOS and SteamOS / Linux. If you're using a third party engine or a programming language other than C++ then you should first look at [doclink=#thirdparty][/doclink] to see if there are more specific instructions to get started with your engine or language of choice. …
Additional Reading: [url=https://msdn.microsoft.com/en-us/library/9yd93633.aspx]Linking an Executable to a DLL (MSDN)[/url] You must also ship the [code-inline]steam_api[64].dll[/code-inline] in your run-time directory (next to your program's executable, or in your dll search path). [*] [b]macOS[/b] [code-inline]libsteam_api.dylib[/code-inline] provides both the x64 and arm64 version of the Steam API. You must link this in your Xcode project and add it to a Copy Files build phase with destination "Executables" to copy it into your application bundle. …