(Previously named "Manage Editions") Many games have additional content like soundtracks or bonus content that may or may not be sold separately. This additional content can be grouped with the game itself and sold together. …
Note: by default, only packages that contain the base game can appear on a game’s store page, but there are rare exceptions. By selecting the packages that are editions of your game using Manage Editions, you can ensure they will appear above any other purchase options on your store page. …
[/td][/tr] [tr][td][b]steamid[/b][/td][td]uint64[/td][td]✔[/td][td]The player we're asking about[/td][/tr] [tr][td][b]count[/b][/td][td]uint32[/td][td]✔[/td][td]The number of games to return (0/unset: all)[/td][/tr] [/table] Gets information about a player's recently played games [section=GetSingleGamePlaytime]GetSingleGamePlaytime[/section] [code=http]GET https:/partner.steam-api.com/IPlayerService/GetSingleGamePlaytime/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 user authentication key.…
[/td][/tr] [tr][td][b]steamid[/b][/td][td]uint64[/td][td]✔[/td][td]The player we're asking about[/td][/tr] [tr][td][b]include_appinfo[/b][/td][td]bool[/td][td]✔[/td][td]true if we want additional details (name, icon) about each game[/td][/tr] [tr][td][b]include_played_free_games[/b][/td][td]bool[/td][td]✔[/td][td]Free games are excluded by default. If this is set, free games the user has played will be returned.…
A Steam Playtest appID has access to the same Steamworks technical features as your main game - but with reduced store and community setup. Instead of having its own separate store page, your Steam Playtest signup will live right on your main game, so that customers can sign up and access the playtest but still Wishlist or Follow the main game. …
This provides a reference opportunity to test your marketing presence against the experience players are having in game. It also provides the Steam Community Hub as an easy place for your community to discuss the game and provide feedback, and makes it easy for users to Wishlist your game. [*]Request keys from your “Beta Testing” release override package. …
If there is an active event with type 'livestream', that game's broadcast will take priority in the broadcast player at 'Featured' priority. Broadcast by games included on the sale that aren't explicitly in the schedule will have the 'Default' priority. …
[/list] [b]Game Ordering:[/b] [list] [*]Based on user interest, determined by revenue or wishlists. [*]For upcoming games, wishlist-based ordering is recommended since revenue data may not yet exist. …
Steam does not contain any paid advertising, nor are advertising models supported in games distributed on Steam. There are varying interpretations for what constitutes ‘advertising’ in a game, so the examples below are meant to help guide developers as to what is and is not supported on Steam. [section]Supported[/section] [list] [*][subsection]Product Placement[/subsection] Games may contain real brands, products, personalities, etc as part of gameplay, provided such portrayals are not disruptive and are appropriate within the context of the game. …
[/td][/tr] [tr=k_cbMaxGameServerGameDescription][td][b]k_cbMaxGameServerGameDescription[/b][/td][td]int[/td][td]64[/td][td]The maximum size (in UTF-8 bytes, including the null terminator) supported for the game server mod description which is set with [api]ISteamGameServer::SetGameDescription[/api].[/td][/tr] [tr=k_cbMaxGameServerGameDir][td][b]k_cbMaxGameServerGameDir[/b][/td][td]int[/td][td]32[/td][td]The maximum size (in UTF-8 bytes, including the null terminator) supported for the game server mod dir which is set with [api]ISteamGameServer::SetModDir[/api].…
[introblock=CloudSaves.gif] [h5]In Brief[/h5]Steam Cloud automatically stores files from your game on Steam's servers so your players can log into Steam and access their saved games from any computer. [h5]Level of integration[/h5]Configuration of file paths required on Steamworks website. Alternatively, API calls required from within the game code to Steamworks for the game to enumerate, read, delete, or write files to Steam Cloud.[/introblock][section]Steam Cloud Overview[/section] The Steam Cloud provides an easy and transparent remote file storage system for your game. …
If you haven't received an email invitation and believe you have a game that fits the eligibility criteria described above, please check: [list] [*]Your list of eligible games here: https://partner.steamgames.com/optin/sale/nextfest_june_2027 [*]The registration page for your base game by appending your appID here: https://partner.steamgames.com/optin/sale/nextfest_june_2027/<appid> [*]Your base game's App Admin page (in the Marketing Tools & Data section) for the opt-in by appending your appID here: https://partner.steamgames.com/apps/landing/<appID> [/list] If your game is not found via the paths above and you believe it meets the eligibility criteria, please use the appeals process available at the bottom of the [url=https://partner.steamgames.com/optin/sale/nextfest_june_2027]registration page[/url]. …
How do I cancel my registration?[/b] A. Just return to the registration page for your game by inserting your base game's appID at the end of this URL https://partner.steamgames.com/optin/sale/nextfest_june_2027/<appid> and deselect the checkbox at the very bottom of the page to remove your game from the festival. …
If you haven't received an email invitation and believe you have a game that fits the eligibility criteria described above, please check: [list] [*]Your list of eligible games here: https://partner.steamgames.com/optin/sale/nextfest_feb_2027 [*]The registration page for your base game by appending your appID here: https://partner.steamgames.com/optin/sale/nextfest_feb_2027/<appid> [*]Your base game's App Admin page (in the Marketing Tools & Data section) for the opt-in by appending your appID here: https://partner.steamgames.com/apps/landing/<appID> [/list] If your game is not found via the paths above and you believe it meets the eligibility criteria, please use the appeals process available at the bottom of the [url=https://partner.steamgames.com/optin/sale/nextfest_feb_2027]registration page[/url]. …
How do I cancel my registration?[/b] A. Just return to the registration page for your game by inserting your base game's appID at the end of this URL https://partner.steamgames.com/optin/sale/nextfest_feb_2027/<appid> and deselect the checkbox at the very bottom of the page to remove your game from the festival. …
Please note that only the partner who has payment rights for the game will be able to set pricing and discounts for shared apps. [section]Transfer of Attached Data[/section] All data, including sales, wishlists, followers, user reviews, etc. are associated with the game and will always be associated with the game. …
[subsection]Existing bundle management is not transferred[/subsection] If the game is already included in a bundle prior to transfer, management of the bundle does not transfer with the game. Please have the transferer remove the game from any existing bundles prior to transferring if necessary. …
Commercial game licenses are purchased with one Steam (master) account and added to a game license pool. Patrons of your venue will be able to log in with their personal Steam account, view the game licenses that you offer through their Steam library and have the option to "check them out" temporarily while in your establishment. …
The downside is the extra management required for each account as they must each own their own set of commercial games that the owner purchases individually. Also, since users aren't logged in with their own personal Steam account, they will only have access to the commercial game licenses on your dedicated accounts and won't be able to keep achievements or in-game items. …
Change history: [list] [*] [b]Version 2[/b] - Fixes returning the game name in XML. [/list] [section=GetUserStatsForGame]GetUserStatsForGame[/section] [code=http]GET https://partner.steam-api.com/ISteamUserStats/GetUserStatsForGame/v2/[/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 user authentication key.…
Change history: [list] [*] [b]Version 2[/b] - Fixes returning the game name in XML. [/list] [section=SetUserStatsForGame]SetUserStatsForGame[/section] [code=http]POST https://partner.steam-api.com/ISteamUserStats/SetUserStatsForGame/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.…
Steam Datagram Relay (SDR) is Valve's virtual private gaming network. Using our APIs, you can not only carry your game traffic over the Valve backbone that is dedicated for game content, you also gain access to our network of relays. …
Making reconnection to the gameserver robust against these common failures is especially important for games that penalize players for leaving the game. [/list] A ticket-based connection to a dedicated server over SDR works like this: [list] [*] When your game server logs into your game coordinator, it sends up its [apitype]steamnetworkingtypes::SteamDatagramHostedAddress[/apitype], which is an opaque blob that contains physical routing information. …
You want to make sure that if someone that’s brand new to the game reads your patch notes, they understand why this update is great. [*][b]Buying your game should not be complex[/b] – Having a complex offer on your store does not equal value. You want to sell your game in a way that is easy for customers to understand. [/list] …
[/td][/tr] [tr][td][b]gamemode[/b][/td][td]uint32[/td][td][/td][td](Optional) Extra information about state of game - was it a specific type of game play or game mode. (0 = generic)[/td][/tr] [tr][td][b]suspicionstarttime[/b][/td][td]uint32[/td][td][/td][td](Optional) Extra information indicating how far back the game thinks is interesting for this user. …
[/td][/tr] [tr][td][b]steamid[/b][/td][td]uint64[/td][td]✔[/td][td]The Steam ID of the user to remove the game ban on.[/td][/tr] [tr][td][b]appid[/b][/td][td]uint32[/td][td]✔[/td][td]The App ID of the game.[/td][/tr] [/table] Remove a game ban on a player. …
See [code-inline]SteamAPI_ManualDispatch_Init()[/code-inline] in [code-inline]steam_api.h[/code-inline] for more information. [section=steam_game_servers]Steam Game Servers[/section] The Steamworks API includes support for running game servers as well as regular clients. A game server, in Steamworks API terms, is an entity in the system that normal users connect to to play multi-player games. …
Initializing and using the game server API is very similar to the normal API: [list] [*] [api]steam_gameserver::SteamGameServer_Init[/api] [*] [api]steam_gameserver::SteamGameServer_Shutdown[/api] [*] [api]steam_gameserver::SteamGameServer_RunCallbacks[/api] [*] [api]steam_gameserver::SteamGameServer_ReleaseCurrentThreadMemory[/api] [/list] After initializing a game server you have access to the two game server exclusive interfaces [api]ISteamGameServer[/api] and [api]ISteamGameServerStats[/api]. …
[b]Do we have any specific recommendations on how to optimize for battery life?[/b] We recommend that all games have an FPS limit, whether implemented in the game itself or using the global FPS limiter we'll be providing. [b]Anything game developersneed to do for supporting the Deck suspend and resume in game?…
Up to 8GB can be shared right now and it's an amount that can be changed on a game-by-game basis. [b]Would Valve prefer for games to use Proton or to have native Linux support?[/b] Valve has no strong preference. …
Steam Playtest gives developers a free, low-risk way to get playtesting data for their game without stressing out about Steam keys, user reviews, or wishlists. By using a separate “child” appID that is associated with, but separate from your main game, you can do the playtesting you need without interfering with your main game. …
[/section] A Steam Playtest appID has access to the same Steamworks technical features as your main game - but with reduced store and community setup. Instead of having its own separate store page, your Steam Playtest signup will live right on your main game, so that customers can sign up and access the playtest but still Wishlist or Follow the main game. …
[subsection]Gameplay Trailers First[/subsection] We have found that most Steam users are looking for [u]gameplay[/u] of your game. We highly recommend that the first trailer you list on your store page is primarily gameplay, showing the player what they will be doing in the game and from the perspective that they will be interacting with your game. …
[section]Frequently Asked Questions[/section] [h4]Q. Can I release my game while a trailer is encoding?[/h4] A. No, you cannot release your game while a trailer is in the process of converting. Please give yourself enough time to upload and convert a trailer before you attempt to release your game. …
Deluxe Editions can be very successful on Steam if you have quality content (In-game items, DLC, Soundtracks, Artwork, etc...) to add to the base game. We recommend that you offer the Deluxe Edition at a price slightly above, but still relatively close to the base game price. …
[section]Parts of a Deluxe Edition[/section] A Deluxe Edition is typically comprised of the base game plus some additional content. In most cases you will also want to provide a path for customers to upgrade from your base game to add on the Deluxe Edition content. …