It replaces [code-inline]store.steampowered.com/appreviews/<appid>?json=1[/code-inline]; see [url=#migrating]Migrating from /appreviews[/url] below. [b]NOTE:[/b] This is a Service interface, methods in this interface should be called with the [code-inline]input_json[/code-inline] parameter. …
Empty means english; "all" means every language. Example usage: languages[0]='english', languages[1]='french', etc.[/td][/tr] [tr][td][b]day_range[/b][/td][td]uint32[/td][td][/td][td]Only used by the Helpful filter. Number of days back from today to look for reviews. …
This can be done by setting the environment variable ENABLE_VULKAN_RENDERDOC_CAPTURE=1. You can do this in Steam by clicking the app's gear icon and editing the command line to be: [code]ENABLE_VULKAN_RENDERDOC_CAPTURE=1 %command%[/code] If the capture button is disabled or not working and you see the API listed as Not Presenting you may need to add EnableFrameEndMarkers=1 to your launch options as well (before %command%). [code]ENABLE_VULKAN_RENDERDOC_CAPTURE=1 EnableFrameEndMarkers=1 %command%[/code] [section]Additional Performance Tools[/section] Additional developer tools for evaluating performance can found here: https://gitlab.steamos.cloud/frame-public/frame-developer-tools [section]Tracking Errors[/section] If you run into serious tracking issues please let us know. …
[section]Library Asset Templates[/section] [table] [tr][td][b]Templates[/b][/td] [td] [url=https://www.dropbox.com/scl/fo/cvkwbosmrimklcl9h0qko/AF5IPErKP-mQM_3YO1Dw2lA?rlkey=b3ad0izykq367g4luasrinw9z&dl=0]Download templates[/url] for sizing and text placements on library images. [/td][/tr] [tr][td][b]Contents[/b][/td] [td][list] [*]Library Capsule [*]Library Header [*]Hero Graphic [*]Logo [/list][/td][/tr] [/table] [section]Visibility[/section] Note that once uploaded, Library Assets are only visible for applications that have a published store page on Steam. …
[b]Size: [/b]3840px x 1240px (an additional half-size 1920px x 620px PNG will be auto-generated from larger file) [subsection=logo]Library Logo [color=#ca5029]Required[/color][/subsection] [docimg=Logo_example_1.png]Logo_example_1.png[/docimg] [b]Usage:[/b] Appears at the top of a user’s library details page for this product, placed on top of the hero graphic. …
[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=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.…
[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.…
[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.…
For multi-disc soundtracks, track numbers must be unique across disks. For example, "disc 1, track 1" might have track ID 1 and "disc 2, track 1" might have track ID 10. [h4]Track Numbering[/h4] The Steam Music Player determines play order from the filenames, not the metadata. If your soundtrack's play order is important, the track number should be included at the start of the filename. If your soundtrack has 10 or more songs, the files 1-9 should begin with a leading 0 (e.g. "01 - Song Title", "02 - Song Title", and so on). [section]Preparing For Release[/section] As you prepare for release, some of the process will depend on whether you are releasing a stand-alone soundtrack vs. a soundtrack that is attached to a base game on Steam. …
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?…
[h4]Submitting requests[/h4] All requests should be sent using HTTP 1.1 GET or POST using a TLS secure connection. The Content-Type should be "application/x-www-form-urlencoded" and the POST parameters should be in the body of the request in standard form urlencoding format. …
It is used to reference the transaction within the Steam system. [*] Steam ID - The user ID received from the Steam client in step 3. [*] App ID - The unique identifier of your Steam game. [*] Language - The ISO 639-1 language code that your item(s) are listed in. [*] Currency - The ISO 4217 currency code that your price(s) are listed in. …
[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. …
[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. …
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. …
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. …
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. …