[section=DeleteLeaderboard]DeleteLeaderboard[/section] [code=http]POST https://partner.steam-api.com/ISteamLeaderboards/DeleteLeaderboard/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=ResetLeaderboard]ResetLeaderboard[/section] [code=http]POST https://partner.steam-api.com/ISteamLeaderboards/ResetLeaderboard/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=CreateLobby]CreateLobby[/section] [code=http]POST https://partner.steam-api.com/ILobbyMatchmakingService/CreateLobby/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.…
[section=GetLobbyData]GetLobbyData[/section] [code=http]GET https://partner.steam-api.com/ILobbyMatchmakingService/GetLobbyData/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.…
[section=AuthenticateUser]AuthenticateUser[/section] [code=http]POST https://partner.steam-api.com/ISteamUserAuth/AuthenticateUser/v1/[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Required[/th][th]Description[/th][/tr] [tr][td][b]steamid[/b][/td][td]uint64[/td][td]✔[/td][td]Should be the users steamid, unencrypted.…
[/td][/tr] [/table] [section=AuthenticateUserTicket]AuthenticateUserTicket[/section] [code=http]GET https://partner.steam-api.com/ISteamUserAuth/AuthenticateUserTicket/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[/td][/tr] [tr][td][b]appid[/b][/td][td]uint32[/td][td]✔[/td][td]appid of game[/td][/tr] [tr][td][b]ticket[/b][/td][td]string[/td][td]✔[/td][td]Convert the binary ticket data from GetAuthTicketForWebApi into a hexadecimal string and pass that string in as this parameter.…
[/url] [section][b]Animated Profile Backgrounds[/b][/section] [h4]Visible in your Steam profile. Create 1-4 of these, ideally. Should be a looping .mp4 [i]and[/i] .webm under 4MB. The files should have a fade to black baked into the bottom of them for a smooth transition to black on the profile bottom. …
Refer to the template (downloadable above) for the area in the middle occluded by the profile.[/h4] [list] [*]300 x 168px .webm <1MB (for preview purposes) [*]300 x 168px .mp4 <1MB (for preview purposes) [*]1920 x 1080px .jpg (still) < 350KB [*]1920 x 1080px .mp4 <4MB [*]1920 x 1080px .webm <4MB [/list] [img]https://steamcdn-a.akamaihd.net/steamcommunity/public/images/steamworks_docs/english/anim_BG_GIF.gif[/img] [url=https://store.steampowered.com/points/shop/c/backgrounds](Click here to see examples live in the Points Shop.)…
[/td][/tr] [tr=k_ERemotePlayInputMouseMotion][td][b]k_ERemotePlayInputMouseMotion[/b][/td][td]1[/td][td]Mouse motion event.[/td][/tr] [tr=k_ERemotePlayInputMouseButtonDown][td][b]k_ERemotePlayInputMouseButtonDown[/b][/td][td]2[/td][td]Mouse button down event.…
[/td][/tr] [tr=k_ERemotePlayMouseButtonMiddle][td][b]k_ERemotePlayMouseButtonMiddle[/b][/td][td]0x0010[/td][td]The middle mouse button.[/td][/tr] [tr=k_ERemotePlayMouseButtonX1][td][b]k_ERemotePlayMouseButtonX1[/b][/td][td]0x0020[/td][td]The first extended mouse button.[/td][/tr] [tr=k_ERemotePlayMouseButtonX2][td][b]k_ERemotePlayMouseButtonX2[/b][/td][td]0x0040[/td][td]The second extended mouse button.…
[section=GetHistoryCommandDetails]GetHistoryCommandDetails[/section] [code=http]GET https://partner.steam-api.com/IGameInventory/GetHistoryCommandDetails/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=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.…
"time_updated": "200000", // Unix epoch time (time since Jan 1st, 1970). // 64-bit value provided by the developer when the session is created which will be passed to the game when the game is launched. // This allows you to easily tie the session object to your own backend object, it is not used internally by Steam. "context": "31415926", "user_status": [ // Array of "UserStatus" objects (described above) ] } [/code] [h4]RequestedSession[/h4] [code] { "sessionid": "1", // uint64 "include_all_user_messages": "0" // bool } [/code] [section=APIs]Common APIs available.[/section] See [webapi]IGameNotificationsService[/webapi] for the full list. …
[section=ItemVoteSummary]ItemVoteSummary[/section] [code=http]POST https://partner.steam-api.com/ISteamPublishedItemVoting/ItemVoteSummary/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=UserVoteSummary]UserVoteSummary[/section] [code=http]POST https://partner.steam-api.com/ISteamPublishedItemVoting/UserVoteSummary/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=GetAllApprovalRequests]GetAllApprovalRequests[/section] [code=http]GET https://partner.steam-api.com/IPublishedFileModerationService/GetAllApprovalRequests/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=ProcessApprovalRequest]ProcessApprovalRequest[/section] [code=http]POST https://partner.steam-api.com/IPublishedFileModerationService/ProcessApprovalRequest/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.…
A build is the result of uploading your content to steam, it can contain 1 or more of your depots and is a representation of the content in those depots at that point in time. Builds are uploaded by developers using a command-line provided in the Steamworks SDK. …
[section=manifests]Manifests[/section] A manifest is a listing of all the files which are included with a depot build, along with metadata for all of the files, including the file size, SHA1 hash, and a set of flags. Manifests are output as text files during the depot build process, and can be viewed from the [url=https://partner.steamgames.com/apps/builds]Your Builds[/url] page in App Admin. …
[code] itemdefid: 10 type: item name: Sword itemdefid: 11 type: item name: Shield itemdefid: 100 type: generator name: Generator A bundle: 101x1;102x9 tags: color:red itemdef: 101 type: generator name: Generator Legendary bundle: 10;11 tags: quality:legendary itemdef: 102 type: generator name: Generator Common bundle: 10;11 tags: quality:common [/code] Another way to assign tags would be to use the [code-inline]tag_generator[/code-inline] item definition type. …
For the [code-inline]tag_generator_values[/code-inline] field, it is a list of [code-inline]tag_token:chance[/code-inline] separated by the ";" character. If chance is omitted it defaults to 1.…
These are displayed in different places on the Steam store and in customer's libraries. [docimg=Header_1.jpg]Header_1.jpg[/docimg] [callout=red,foo][b]August, 2024[/b]: Steam is now accepting larger asset sizes for most capsules. Please check the [url=https://www.dropbox.com/scl/fo/cvkwbosmrimklcl9h0qko/AF5IPErKP-mQM_3YO1Dw2lA?…
[docimg=SaleEditor_AddItems.png]SaleEditor_AddItems.png[/docimg] [subsection]1. Smart section (requires a linked app list)[/subsection] This is a set of options that will populate an app section using some pre-defined criteria. …
There are a few different options to make the layout interesting. 2/3/4/3 [subsection]Special options for single item-per-row[/subsection] If you choose to display a single (1) item per row, then you'll find a new set of options appears for how to display that single item. …
[docimg=rp_group_images.jpg]Rich Presence is shown in multiple contexts[/docimg] In this documentation, we’re going to cover two settings you can define to control how your game appears in players’ friends list: [list][*]Rich Presence String – used for displaying information about player state in your game that their friends may want to know [*]Friend Grouping – used for grouping friends together that are playing together in the game [/list] [section]Game controlled Rich Presence string[/section] [docimg=rp3_1.jpg]Friends can see more information about games at a glance[/docimg] The system in place is customizable so that your team can determine which information is the most interesting to a player's friends. …
"#StatusWithScore" : "#StatusWithoutScore" ); // Sample of grouping friends together when they play together if ( nPartyMemberCount > 1 && strPartyID ) { // If we're in a party of more than one user, and we have a valid PartyID then // inform Steam's Rich Presence system. …
. [*][b]Gyro/Trackpad Friendliness[/b]: We recommend that games with support for both mouse-style (1:1 movement) and joystick-style camera movement cleanly support both at the same time. This is known as "Mixed Input". We recommend allowing mouse events to affect the camera as they normally would without perturbing simultaneous controller functionality, and only switching to mouse/keyboard mode if a mouse click event is received. …
If your game or engine has high-quality DirectX support but no Vulkan support, it's likely that this automated translation layer will exceed the performance of doing a custom Vulkan implementation.) [*][b]Video/Audio Codecs[/b]: We recommend using standalone codecs (eg., VP9 or AV1) rather than codecs that are tied to a specific vendor (eg., WMF). [/list] [subsection]Game Features[/subsection] [list] [*][b]Clouded Saves[/b]: For games that allow saving, we recommend enabling automatic clouding of saved games: users should be able to save their game on a Deck or Steam Machine and resume on a different PC, and vice versa, without manually transferring files. …
Depending on the method, these parameters must be passed in as GET or POST params in the request. 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. …
When passing arrays there will always be a [code-inline]count[/code-inline] parameter that specifies the number of parameters in the array. For example: [code] ?count=2&name[0]=SomeNameHere&name[1]=SomeOtherName [/code] [section]Service Interfaces[/section] In addition to the regular web api calls are the service interfaces. …
You may also want to read more about how [doclink=store/application][/doclink] work on Steam, or learn more about [doclink=gettingstarted/managing_users][/doclink]. [subsection]Method 1: Individual Steam Accounts/Groups [/subsection] Using this method, an administrator would create a group in your partner account that only includes access to specific Applications, and then directly adds any individual Steam accounts to that group. …
[/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. If you also need to enter bank and tax information for receiving payments, you should not use that path. …
Already there's a pretty good experience for Unity and Unreal developers from the start. [b]Can game developers use more than 1GB of GPU memory for textures, vertex and other buffers, or is the 1GB VRAM that was mentioned earlier today a hard limit?[/b] More than 1GB is definitely available to use with the GPU. …
See [url=https://partner.steamgames.com/doc/steamdeck/testing#3]here[/url] for the full instructions.Down the line, we expect to make an image available that will incorporate more of the bits included in Steam Deck's OS (like gamescope and possibly gamepad-ui) for better 1:1 testing. [b]When will Steam Deck be available in more countries?[/b] We're still finalizing plans with a bunch of other countries and territories. …
[section]Configuring as Free[/section] When you initially create your game in Steamworks, you can do so with the setting to make it free to play. [docimg=Setup1.png]Setup1.png[/docimg] Once you have done this, you'll find your game listed with a price of 'free' in the "Store Package" area. …
You can learn all about Update Visibility Rounds in our [url=https://partner.steamgames.com/doc/marketing/visibility/update_rounds]documentation[/url]. [docimg=doc_store_home_recentlyUpdated_1.jpg]doc_store_home_recentlyUpdated_1.jpg[/docimg] When you re-engage players using events and announcements, it doesn’t just help with the boost of players who may jump back into your game after seeing an event pop up in their library—when those users launch your game, their friends will also a notification that they are playing, and they’ll see them playing on their friends list. …
Any subsequent updates to the item will also be propagated to all current subscribers. With the release of version 1.60 of the Steamworks SDK, content creators can now specify that a specific version of their item is valid for a Steam (beta) branch. …
You can version at whatever points make sense for your game. For example, naming a branch "version_1.4" and another one "version_1.5" [*][b]Enable the Workshop setting "Enable Game Branch Versions"[/b] - This setting under your Steamworks Workshop configuration will allow mod authors to specify ranges of branches that their item works with [*][b]Establish a consistent test-to-deployment process[/b] - It is important to give mod authors a chance to create and upload new versions of their mod, or update version support definition for existing mods if they work well with the latest version of the game. …