[section]Overview[/section] Various parts of the Steam Community are moderated by a combination of official Valve staff, community moderators, and representatives of the game developers and publishers. …
Below are more details on how to add moderators and what they can control. If your account has permissions to moderate content in the Steam Community, you will see an 'admin' tab to the far right when viewing a game or software's Steam Community Hub. [section]Adding moderators and setting permissions[/section] You can promote trusted community members or add internal team members to help moderate your Steam Community Hub. …
[/b] If you intend to add a feature in the future, you'll need to remove the selected feature in the Basic Info tab until it is implemented and released. [*] [b]Your product must use Steam Wallet for any in-game transactions.[/b] This means that your product cannot link to other store pages that does not offer Steam Wallet. …
You’ll then be able to set the release state to “Released” and publish the items. You can check our [doclink=marketing/tradingcards]Steam Trading Cards[/doclink] documentation for more information.…
Steam no longer supports Google Analytics. On July 1 2023, Google replaced their third-party traffic reporting system (Universal Analytics) with their own, called Google Analytics 4 (GA4). Over time, we've come to realize that Google's tracking solutions don't align well with our approach to customer privacy, and the migration to GA4 felt like the right time to end our support and focus instead on building the most useful parts of aggregated reporting into Steam itself. We've introduced new Steamworks tools to help you understand your store traffic while continuing to protect player privacy. …
[subsection]Where Your Game Name is Defined[/subsection] Your game's name is defined in three main locations: [list] [*][b]Store info[/b] - On the "Basic Info" tab under "Edit Store". This name is used within the Steam store, including search results. [*][b]Steamworks Info[/b] - On the "General Application Settings" tab under Steamworks Settings. This name is used within the Steam library and the Steam Community. [*][b]Package Info[/b] - Each store package that sells your game. This is used to present your purchase option shown on your store page and during the checkout process. …
[section=GetUserHistory]GetUserHistory[/section] [code=http]GET https://partner.steam-api.com/IGameInventory/GetUserHistory/v1/[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Required[/th][th]Description[/th][/tr] [tr][td][b]key[/b][/td][td]string[/td][td]✔[/td][td]Steamworks Web API publisher authentication key.…
[section=UpdateItemDefs]UpdateItemDefs[/section] [code=http]POST https://partner.steam-api.com/IGameInventory/UpdateItemDefs/v0001[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Required[/th][th]Description[/th][/tr] [tr][td][b]key[/b][/td][td]string[/td][td]✔[/td][td]Steamworks Web API publisher authentication key.…
By placing an oval-shaped mouse region in the lower left hand corner and binding it to the Steam controller trackpad, we can easily select a character just by swiping left or right and clicking. [i]Empires of the Undergrowth[/i] [docimg=empires_of_the_undergrowth.png]empires_of_the_undergrowth.png[/docimg] This is an insect-themed Real-Time Strategy game. …
For example, the PS4 controller has a rectangular trackpad, which creates a rectangular mouse region, whereas the Steam controller has a circular trackpad, which creates circular mouse regions. [table] [tr] [th]Device[/th] [th]Input[/th] [th]Mouse region shape[/th] [/tr] [tr] [td]Generic gamepad[/td] [td]Joystick[/td] [td]Circle[/td] [/tr] [tr] [td]PS4 controller[/td] [td]Trackpad[/td] [td]Rectangle[/td] [/tr] [tr] [td]PS4 controller[/td] [td]Gyro[/td] [td]Rectangle[/td] [/tr] [tr] [td]PS4 controller[/td] [td]Joystick[/td] [td]Circle[/td] [/tr] [tr] [td]Steam controller[/td] [td]Trackpad[/td] [td]Circle[/td] [/tr] [tr] [td]Steam controller[/td] [td]Gyro[/td] [td]Rectangle[/td] [/tr] [tr] [td]Steam controller[/td] [td]Joystick[/td] [td]Circle[/td] [/tr] [tr] [td]Xbox controller[/td] [td]Joystick[/td] [td]Circle[/td] [/tr] [/table] Here's what the mouse region configuration screen looks like: [docimg=mouse_region.png]mouse_region.png[/docimg] [section]Basic Settings[/section] [subsection]Region Size[/subsection] This will scale the size of the region that is mapped to the outer extents of the pad/stick. …
Additional [doclink=features/workshop][/doclink] service methods for publishers. See [webapi]ISteamRemoteStorage[/webapi] to interact with Steam Workshop items directly. [b]NOTE:[/b] This is a Service interface, methods in this interface should be called with the [code-inline]input_json[/code-inline] parameter. …
[section=SetItemPaymentRules]SetItemPaymentRules[/section] [code=http]POST https://partner.steam-api.com/IWorkshopService/SetItemPaymentRules/v1/[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Required[/th][th]Description[/th][/tr] [tr][td][b]key[/b][/td][td]string[/td][td]✔[/td][td]Steamworks Web API publisher authentication key.…
Within the Steam Sales & Activations Reports website, you can find stats on the refunds of your game, including the notes that players provide when they request a refund. You can use this information to help figure out if there is particular work you can do on your game to address bugs, balance gameplay, or better set player expectations ahead of time. For the Steam refund policy details, please see https://store.steampowered.com/steam_refunds/ [section]Accessing Your Game's Refund Stats[/section] [olist] [*]Visit the Sales & Activations Reports website here: https://partner.steampowered.com/ [*]Select a specific package that you wish to view refund data for [*]Under the "Links" section to the right of the package page, click "Refund Data" [/olist] [section]Stats Explained[/section] You can select between recent week/month/lifetime to see various views of your refund activity. …
[subsection=PingServer]PingServer[/subsection] [code=cpp]HServerQuery PingServer( uint32 unIP, uint16 usPort, ISteamMatchmakingPingResponse *pRequestServersResponse );[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]unIP[/b][/td][td][apitype]steam_api::uint32[/apitype][/td][td]The IP of the game server you are querying in host order, i.e 127.0.0.1 == 0x7f000001.[/td][/tr] [tr][td][b]usPort[/b][/td][td][apitype]steam_api::uint16[/apitype][/td][td]The port of the game server you are querying, in host order.…
[subsection=PlayerDetails]PlayerDetails[/subsection] [code=cpp]HServerQuery PlayerDetails( uint32 unIP, uint16 usPort, ISteamMatchmakingPlayersResponse *pRequestServersResponse );[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]unIP[/b][/td][td][apitype]steam_api::uint32[/apitype][/td][td]The IP of the game server you are querying in host order, i.e 127.0.0.1 == 0x7f000001.[/td][/tr] [tr][td][b]usPort[/b][/td][td][apitype]steam_api::uint16[/apitype][/td][td]The port of the game server you are querying, in host order.…
[/color] [docimg=hlapoor.png]hlapoor.png[/docimg] [b]Usage:[/b] These are used for various lists throughout Steam. Search results, top-sellers, new releases, etc. [b]Design:[/b] These are small, so for best results focus on making the [b][color=#ca5029]logo clearly legible.…
[b]Size: [/b] 1438px x 810px [section=bundle]Bundle Assets[/section] Bundles use the same set of assets as other products on Steam, with one addition: [subsection]Bundle Header[/subsection] [docimg=civ6.jpg]civ6.jpg[/docimg] [b]Usage:[/b] This image appears at the top of the bundle detail page on Steam. …
[subsection=store]Store Product Page[/subsection] Inserting the URL for your Steam store product page will inject a widget that will let users wishlist (if coming soon), buy or play (if free-to-play) your game right from the event page. …
Here is an example of what this [url=https://medal.tv/clips/4725198]clip[/url] embedded on an events page looks like Medal offers customization options to add things such as a "Get this on Steam" button to your clips. You can view the clip documentation [url=https://docs.medal.tv/player#enable-get-this-on-steam]here[/url]. …
The Steam matchmaking API has rich options for matching players based on skill. More information on the base toolset of matchmaking is [doclink=features/multiplayer/matchmaking]here[/doclink]. …
You'll want to set the stats as 'Increment Only' - meaning that the Steam servers enforce the skill stat can only increase, preventing a user as marking them as low skill so they can play against easy targets. …
This section gives an overview of finance-related topics on Steam. This includes getting paid, dealing with taxes, and how Steam reports sales and financial activity to you. If you have specific questions, you may want to look at the [doclink=finance/payments_salesreporting/faq]Reporting & Payments FAQ[/doclink]. …
Additional Steam Economy methods that provide access to Steam Trading. [b]NOTE:[/b] This is a Service interface, methods in this interface should be called with the [code-inline]input_json[/code-inline] parameter. …
This will result in calls to GetContexts and GetContextContents to get fresh data for each user next time Steam needs their inventory. [b]NOTE:[/b] This call requires a publisher API key to use this method. As such this API [b]MUST[/b] be called from a secure server, and can never be used directly by clients! …
Once you've confirmed that you've [doclink=/store/promo/organizers#10]read the rules[/doclink], Steam will enable a sale page so you can begin building your event. At this time, your event will be reviewed for any potential curated homepage featuring. …
Can I do that?[/h4] [b]A:[/b] No. Starting July 9, 2026 at 10am Pacific, Steam will no longer be allowing "adhoc" Developer, Franchise, or Publisher sale pages. Instead, we ask that you use the new Developer & Publisher homepage for these activities. …
With Update Visibility Rounds, we've dedicated space on the front page of the Steam store to highlighting products where the developer has a major update they would like to tell customers about. These appear to customers that have your game in their library or on their wishlist. …
Note that the recent community announcement needs to have been posted within the last 30 days. [*] When you get everything entered in, you're ready to start. [*] Your product will be added to a pool of titles that are opted in, and randomly selected to appear each time a customer views the home page until your visibility round ends. [*] Each visibility round will appear on the front page of Steam for up to 30 days. The number of impressions and clicks will depend on how many customers your game has and how many users have your game on their wishlist. …
[/b] Authentication must be enforced in the game client and server via the [doclink=features/auth]Steam Authentication APIs[/doclink]. [b]Enable Anti-Cheat APIs[/b] This can be done from the [url=https://partner.steamgames.com/apps/vac/]Anti-Cheat Configuration[/url] page in the App Admin panel. …
There following result returned in the [api]ISteamUser::ValidateAuthTicketResponse_t[/api] callback from [api]ISteamUser::BeginAuthSession[/api] will tell your game server if the user has been banned: [list] [*] [apitype]steam_api::k_EAuthSessionResponsePublisherIssuedBan[/apitype] - Returned when the user is banned via the RequestPlayerGameBan webapi. [/list] The game server should disconnect the player from the session upon receiving a callback with that result. …
Besides just rebinding your own controls, you can also download and use full input configurations that other players have shared on Steam. In this screenshot, I'm playing [url=http://store.steampowered.com/app/379720/]Doom[/url]. Select "Browse Configs" to see what the community has to offer: [docimg=browse_configs.png]browse_configs.png[/docimg] [section]Recommended Configurations[/section] We're taken to this screen; on the left you can see a variety of categories. …
The developer can upload configuration for multiple different controller types -- such as PlayStation 4 controller, Steam Controller, and Xbox 360/One controllers, and on the first run, Steam will detect your device and select the appropriate configuration. …
These service methods provide public information from the Steam Store. [b]NOTE:[/b] This is a Service interface, methods in this interface should be called with the [code-inline]input_json[/code-inline] parameter. …
[section=GetAppList]GetAppList[/section] [code=http]GET https://partner.steam-api.com/IStoreService/GetAppList/v1/[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Required[/th][th]Description[/th][/tr] [tr][td][b]key[/b][/td][td]string[/td][td]✔[/td][td]Any web API key.…
We use the term "age-gate" to refer to the interstitial pages presented to players when browsing the Steam Store or Community when the content they are about to view may surprise them. Below describes the couple of different triggers for these age-gates and different presentations. …
These warning pages will let the player know that the content they are about to view is different from the preferences they have previously specified (or the defaults that Steam has). [section]Regional Rating Board Settings[/section] Players may also encounter an age-gate if you enabled age-gates while entering in ratings from regional rating boards such as ESRB or PEGI. …