[section=GetTradeHistory]GetTradeHistory[/section] [code=http]GET https://api.steampowered.com/IEconService/GetTradeHistory/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]time_historical_cutoff[/b][/td][td]uint32[/td][td]✔[/td][td]When active_only is set, offers updated since this time will also be returned[/td][/tr] [/table] Get a list of sent or received trade offers [section=GetTradeOffer]GetTradeOffer[/section] [code=http]GET https://api.steampowered.com/IEconService/GetTradeOffer/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.…
[subsection=PlayPrevious]PlayPrevious[/subsection] [code=cpp]void PlayPrevious();[/code] Have the Steam Music player play the previous song. [subsection=SetVolume]SetVolume[/subsection] [code=cpp]void SetVolume( float flVolume );[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]flVolume[/b][/td][td]float[/td][td]The volume percentage to set from [b]0.0[/b] to [b]1.0[/b].[/td][/tr] [/table] Sets the volume of the Steam Music player. [section=callbacks]Callbacks[/section] These are callbacks which can be fired by calling [api]steam_api::SteamAPI_RunCallbacks[/api]. …
[section=EnumerateUserSubscribedFiles]EnumerateUserSubscribedFiles[/section] [code=http]POST https://partner.steam-api.com/ISteamRemoteStorage/EnumerateUserSubscribedFiles/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]steamid[/b][/td][td]uint64[/td][td][/td][td]If specified, only returns details if the file is owned by the SteamID specified[/td][/tr] [tr][td][b]ugcid[/b][/td][td]uint64[/td][td]✔[/td][td]ID of UGC file to get info for[/td][/tr] [tr][td][b]appid[/b][/td][td]uint32[/td][td]✔[/td][td]appID of product[/td][/tr] [/table] [section=SetUGCUsedByGC]SetUGCUsedByGC[/section] [code=http]POST https://partner.steam-api.com/ISteamRemoteStorage/SetUGCUsedByGC/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 more info on how to use the Steamworks Web API please see the [doclink=webapi_overview][/doclink]. [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.…
[section=GetItemDailyRevenue]GetItemDailyRevenue[/section] [code=http]GET https://partner.steam-api.com/IWorkshopService/GetItemDailyRevenue/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.…
[b][code-inline]*[/code-inline][/b] To define the string to display in Steam friends list and chat, set the [code-inline]steam_display[/code-inline] key/value in [url=https://partner.steamgames.com/doc/api/ISteamFriends#SetRichPresence]SetRichPresence[/url]. …
[docimg=party_rp.jpg]When friends playing together are grouped, others know if there is room for them to join[/docimg] [b][code-inline]*[/code-inline][/b] To define the grouping of players in the Steam friends list and chat, set the [code-inline]steam_player_group[/code-inline] and [code-inline]steam_player_group_size[/code-inline] key/values in [url=https://partner.steamgames.com/doc/api/ISteamFriends#SetRichPresence]SetRichPresence[/url]. …
If the [i]minimum[/i] branch is not set, then the item is valid for all Steam branches older than the [i]maximum[/i] branch, and vice-versa for when the [i]maximum[/i] branch is not set. …
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. …
[section]Options for adding games to a section[/section] You need to define the set of games or bundles to show in each section, and there are three different ways you can approach that. [docimg=SaleEditor_AddItems.png]SaleEditor_AddItems.png[/docimg] [subsection]1. …
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. …
You can easily paste in your bullet list of notes, switch to the 'publish' tab and hit publish. On top of that, there are various optional settings if you want to provide more information or include images of things that have changed, but are not needed in order to post your patch notes. …
Patch notes following your build updates is helpful for your customers to realize you are continuing work on and improve your game. [docimg=41b67b4a94e6487c5e07c6085dbb9d63d8d9e166.jpg]41b67b4a94e6487c5e07c6085dbb9d63d8d9e166.jpg[/docimg] You can always use the regular event editor to post the patch notes at a later time. …
For example, if your game is being distributed on Steam by a publisher, then it's useful for both the publisher and the development studio to be set up with access to the game, even if payments for sales of the game will only go to one of the entities. There are a few ways to grant others access to your applications. …
[b]This method has the following advantages:[/b] [list] [*]You can explicitly set permissions for each individual user account. [*]You can control exactly which individual user accounts have access to your Application. [*]You can control exactly which packages are autogranted to the individual user accounts in the group. …
[docimg=ds4_controller_share_options.png]ds4_controller_share_options.png[/docimg] [callout=green,fixed][b]NOTE[/b]: SHARE and OPTIONS correspond to SELECT and START on previous PlayStation Controller models.[/callout] [subsection=L1R1]L1 and R1 (Shoulder buttons)[/subsection] [b]Digital[/b] The shoulder buttons are pretty standard. [docimg=ds4_controller_l1_r1.png]ds4_controller_l1_r1.png[/docimg] [subsection=L2R2]L2 and R2 (Shoulder triggers)[/subsection] [b]Analog, 1 axis (each)[/b] Unlike the Steam controller, the L2 and R2 analog triggers on the PlayStation 4 controller do [i]not[/i] have a distinct digital "click" at the end of the normal analog range distinguishing a "full pull" from a "soft pull". …
However, the Steam Input configurator is able to fix this; the player may set a threshold that distinguishes a "full pull" from a "soft pull." [docimg=ds4_controller_l2_r2.png]ds4_controller_l2_r2.png[/docimg] [subsection=DPAD]Dpad[/subsection] [b]Digital[/b] The PlayStation 4 controller features a fairly standard digital pad, or Dpad. …
This page displays the first trailer available on the game's store page, based on any language or country restrictions set for the trailers. [docimg=Example_1.png]Example_1.png[/docimg] [subsection]See your game's page[/subsection] By adding the appID to the end of a URL, you can easily view and share this page for any of your games that are Steam Deck Verified. …
Choose 'Custom Streaming Server' from the Stream type drop-down. This is where you enter the [b]upload server[/b] and [b]upload token[/b] that is found on the [url=https://steamcommunity.com/broadcast/upload]broadcast upload settings page[/url]. …
Make sure to specify [b]keyframe interval[/b] parameter to 2, as that is a critical requirement for uploading streaming content to Steam. The other settings defaults will be fine. More details on Steam's requirement for those other setting can be found [url=https://partner.steamgames.com/doc/store/broadcast/setting_up#encoding]here[/url]. …
[/td][/tr] [tr][td][b]appdata[/b][/td][td]uint64[/td][td][/td][td](Optional) App specific data about the type of cheating set by developer. (ex 1 = Aimbot, 2 = Wallhack, 3 = Griefing)[/td][/tr] [tr][td][b]heuristic[/b][/td][td]bool[/td][td][/td][td](Optional) Extra information about the source of the cheating - was it a heuristic.…
[/td][/tr] [tr][td][b]timeend[/b][/td][td]uint32[/td][td]✔[/td][td]The end of the time range. Formatted as Unix epoch time (time since Jan 1st, 1970).[/td][/tr] [tr][td][b]timebegin[/b][/td][td]uint32[/td][td]✔[/td][td]The beginning of the time range. Formatted as Unix epoch time (time since Jan 1st, 1970).…
The value field is a comma-delimited list of strings to check. [*] "gametagsnor" Server passes the filter if the server's game tags ([api]ISteamGameServer::SetGameTags[/api]) does not contain any of the specified strings. The value field is a comma-delimited list of strings to check. [*] "and" (x1 && x2 && ... && xn) "or" (x1 || x2 || ... || xn) "nand" !(x1 && x2 && ... && xn) "nor" !(x1 || x2 || ... || xn) Performs Boolean operation on the following filters. …
[section]Enabling the overlay[/section] You can turn on the in-headset performance assessment by opening the SteamVR Dashboard, toggling [b]Advanced Settings[/b] (bottom left corner) to [b]Show[/b], then head to the [b]Developer[/b] tab and enable [b]Draw Performance Assessment in Headset[/b]. …
The rest of the file is a list of frame times leading to the violation of the threshold set with the target frame time. This data is helpful to pick up rapid frame time oscillations that may not be visible on the overlay. …
When you export videos, include color space information and if possible, set the color space to BT.709. This will guarantee that the final video's color matches the color you expect. [section]Localized Image Management[/section] If you are uploading images that contain text, you can now easily manage localized version of those images all together in an image group. …
To add alt text, navigate to your store page editor, select the 'Description' tab and click the blue button right above the 'Upload Custom Image' section. Alt text will also export/import along with your other store page text on the 'Localization' tab. [section=error]Asset Error[/section] We currently support the following file types for extra assets: PNG, JPG, GIF, WEBP, MP4, and WEBM. …
v=<video id> youtu.be/<video id> [/code] For example, using the Video ID of 'UUn-ET4vv1s' we would see the following widget in your event. [docimg=2019-09-17_8-17-04.png]2019-09-17_8-17-04.png[/docimg] Note: With YouTube, we have a few additional formatting options via the [previewyoutube] tag accessible via the toolbar's import YouTube icon. …
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]. …
[/td][/tr] [tr][td][b]include_all_user_messages[/b][/td][td]bool[/td][td]✔[/td][td](Optional) Set whether the message for all users should be included. Defaults to false.[/td][/tr] [tr][td][b]include_auth_user_message[/b][/td][td]bool[/td][td]✔[/td][td](Optional) Set whether the message for the authenticated user should be included. …
The optional bools will return further details about each session if set. [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! …
In this special item definition (that doesn't actually generate items) you would define the set of tags to pick from and their probabilities. In a [code-inline]generator[/code-inline], [code-inline]playtimegenerator[/code-inline], or [code-inline]bundle[/code-inline] item definition, you'd need to set the [code-inline]tag_generators[/code-inline] field with the item definition ids of all the tag generators. …
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.…
The Steam Inventory Service is a set of features that allow a game to enable persistent player inventories without having to run special servers to manage users or items. …
These describe the possible set of items in your game. You don't need to use these from your game itself but Steam needs them to display inventory correctly. To create ItemDefs, go to the Steam Inventory section of your Steamworks configuration area. …