[section=PostGameDataFrame]PostGameDataFrame[/section] [code=http]POST https://partner.steam-api.com/IBroadcastService/PostGameDataFrame/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.…
Note that if you wish for branch contents to remain private, you should set your branch password [i]before[/i] setting a build live on the branch. [docimg=betapassword_2.png]betapassword.png[/docimg] To test game content from branches other than Default, right-click on the game in the Steam client and select [b]Properties[/b]. In the properties window select the [b]Game Versions & Betas[/b] tab on the left. [docimg=portal2_new_beta_optin_english.png]portal2_new_beta_optin_english.png[/docimg] For more on testing, including testing DLC, testing Demos, and testing with external users, please see [doclink=store/testing][/doclink]. …
[/h4] The refund policy is currently set up to closely mimic the [url=https://store.steampowered.com/steam_refunds/]consumer version[/url] (2 weeks/2 hours). Site license accounts will be able to purchase commercial packages multiple times or in quantity so the 2 weeks/2 hours clock starts ticking at the first purchase event. For example, if they purchased L4D and then 3 weeks later purchased another copy of L4D, a refund request would be denied because the first copy is more than 2 weeks old. If they instead purchased their second copy only 1 week after the first copy, both purchases could be refunded provided there was less than 2 combined hours of playtime on the licenses. [*][h4]Will my location need to be online all the time?…
. [*][b]Geographic breakdown[/b], which adds the ability to see regional breakdowns for the visitors to your store page [*][b]Visitor device category[/b], adding a split of device types for each campaign to let you see how your mobile vs. desktop audiences are learning about your game. [*][b]New vs. returning users[/b] are now break-out stats that help you see the percentage of visits to your store page that come from new versus returning players.…
For more information about general Steam branding, refer to the [doclink=marketing/branding][/doclink]. [section]Workshop Types[/section] There are two main types of Steam Workshop integration options available. Each has benefits and trade-offs, so you should think carefully about which option makes the most sense for your product. …
You can start off with a basic uploader that just asks the item-maker to select a .zip file and a preview image, or you can build more validation into your submission path. For example, Team Fortress 2 started with just a submission form that asked the item author to pick a .zip file and preview image. But as we iterated on the process, we added a test environment and validation to make sure that the file that was submitted to the Workshop would be easier to integrate into the game. …
Banned accounts are also not allowed to upload screenshots, artwork, guides, workshop items or other UGC types to your hub. [section]Moderating Screenshots, Videos, and Workshop Items[/section] As an admin or moderator with proper permissions, you have a number of tools available for moderation. …
This option is designed to remove the content from the hub/game, without affecting the content or the upload privileges of the owner. For example, if a Dota screenshot is uploaded to the CS2 hub, hiding it as incompatible would be the ideal moderation action (the player would still have their screenshot, but it would no longer be associated with CS2). …
[section=GetGameServerPlayerStatsForGame]GetGameServerPlayerStatsForGame[/section] [code=http]GET https://partner.steam-api.com/ISteamGameServerStats/GetGameServerPlayerStatsForGame/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]Notes for developers receiving dev-kits[/b] [list] [*]Your kit may arrive with little / no power – if that’s the case you’ll need to plug it in so it can get some charge and boot up. [*]Speaking of power, all of our dev-kits come with a US plug type 45W power supply. This means that if you’re outside of the USA, you’ll most likely need a travel adapter to charge and use your dev-kit. …
Trailers are displayed at the top of your product's store page and are often one of the first things your potential customers will be seeing. [docimg=Portal2TrailerExample2_1.jpg]Portal2TrailerExample2_1.jpg[/docimg] [section]Best Practices[/section] Trailers are important in marketing your product on Steam. …
If you have PEGI and ESRB rated videos that should only appear in certain countries, you can restrict the visibility of your trailer to certain countries by using the [url=https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2]ISO 3166-1 alpha-2[/url] language codes. (Example: DE,FR,US,CA,MX) [section]Trailer Thumbnail / Poster Images[/section] As Steam processes the trailer you upload, it will automatically generate two images needed by the store: [list] [*]A poster image of 600px x 380px that displays in the video player until the video has loaded enough to start playing [*]A thumbnail image of 232px x 130px that is used to represent the trailer on your store page [/list] [subsection]Custom thumbnail/poster image[/subsection] If you are unhappy with the image automatically generated by Steam, you may upload your own image to represent your trailer. …
[section]Icon 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 with examples. [/td][/tr] [tr][td][b]Contents[/b][/td] [td][list] [*]Shortcut Icon [*]App Icon [/list][/td][/tr] [/table] [section=client_icon]Shortcut Icon [color=#ca5029]Required[/color][/section] [docimg=shortcut.png]shortcut.png[/docimg] [b]Usage:[/b] This icon is used when creating desktop shortcuts to launch your application. …
[docimg=mac_icon.jpeg]mac_icon.jpeg[/docimg] [/callout] [section=community_icon]App Icon [color=#ca5029]Required[/color][/section] [docimg=cs2.jpg]cs2.jpg[/docimg] [b]Usage:[/b] This image is used to represent your application in compact layouts where there isn't enough room for a larger capsule. …
Promotions may involve other Steam products, or products/brands outside of Steam. These types of promotions are encouraged and many customers find value in them. However, under no circumstances is it okay to charge other developers to participate in a bundle or to sell access to a sale page or other page on Steam. [*][subsection]Paid Advertising Outside Steam[/subsection] Developers may want to run paid advertising campaigns to drive traffic to their Steam product pages. …
The URL format for this page is as follows: https://store.steampowered.com/verified/<appid> More pretty examples: [docimg=Example_2.png]Example_2.png[/docimg] [subsection]Requirements[/subsection] To enable this page, the game must have received Verified status and must have [b]at least one[/b] trailer published to the store page that is marked as safe for all ages.…
Over 60% of Steam users use it in a language other than English, so tailoring your experience for those users is important. [section]Types of localization[/section] Steam supports two separate types of localization - store page and in-game. You can use either independently of each other, but supporting both is ideal. …
[section]Homepage Editor Tools Overview[/section] https://www.youtube.com/watch?v=kjhqm6Y2CFY [section]To start using the new editor[/section] Visit your developer or publisher homepage and then the following: [olist] [*]Click the 'admin' tab. [*]Select "Creator Home v2" on the left-hand side of admin options. [*]Click "Create New" to set up a new homepage. …
[olist] [*]From your developer homepage, select the 'admin' tab [*]Then click on one of the list options in the left-hand menu. [/olist] [docimg=Homepage_Valve_Lists2.png]Homepage_Valve_Lists2.png[/docimg] [section]Previewing a new homepage[/section] While using the editing tools, you can click 'live preview' in the upper-right corner of the editor to get a second window that shows your work in progress within the context of your homepage header. …
After you have plugged it in, press the power button to turn it on, then follow the in headset instructions to get through the initial update. After the headset reboots, log into Steam. [docimg={62DA2CEA-FD49-491C-8E01-B983CBEC377F}.png]{62DA2CEA-FD49-491C-8E01-B983CBEC377F}.png[/docimg] [section]Developer Mode[/section] When you get your frame the first thing you will want to do is turn on [b]Developer Mode[/b]. …
Once connected, click this same button to disconnect from wireless streaming. [docimg=steamframe-streamtopc2.png]steamframe-streamtopc2.png[/docimg] [i]Note: SteamVR will automatically reconnect to the last wireless headset it was launched with, so you can just launch SteamVR from the PC rather than needing to initiate from in-headset each time. …
This is the best choice for highly competitive games (such as Dota 2) or games with persistent servers that stay around after players leave (such as Team Fortress 2). [section]Steam Server Browser[/section] A large part of the game server experience on Steam comes from the unified server browser. …
Your Store Page descriptions can be found in each app of Steamworks under Store Presence > Edit Store Page > Description [section]Your Product's Short Description[/section] Your product's short description is meant to be a brief synopsis, used in locations on Steam where real estate is limited, most notably at the very top of your game's store page. [docimg=short_description_example2.jpg]short_description_example2.jpg[/docimg] [subsection]Short Description Best Practices[/subsection] [list] [*][b]Focus on Your Product's Unique Value Proposition[/b] - There are a million things to say about any game, but the short description will need to quickly convey why a customer would want to learn more about [i]this[/i] game in particular. …
This includes via embedded images, QR codes and even implied URLs via text such as "DOTA2 DOT COM". Instead, you should use the specific link fields provided if you want to link tocommon social media platforms or your own website. …
We have found that for our own games it works best to release major updates every 1-2 months at most. This let us put together a big enough update to be exciting and compelling, and allowed for time to tease or pre-announce those updates before they ship to build anticipation. …
[/olist] [b]Examples[/b] As an example of the kinds of update announcement pages that we at Valve have put together for some of our own games, you can see the latest updates for Counter-Strike 2 listed down the right-side of the [url=https://www.counter-strike.net/home]CS2 website[/url], or some updates for Dota 2 [url=http://www.dota2.com/700]here[/url] and [url=http://www.dota2.com/darkrift]here[/url]. …
[introblock=LIvestream_2.gif] [h5]In Brief[/h5]Set up a livestream to appear on your game's store page, developer homepage or special sale landing page. [h5]Level of integration[/h5]Basic streaming of your gameplay through Steam is built in. …
Steam, Twitch, YouTube, Facebook, Mixer etc.). Here's an illustration on how it works. [docimg=Schematic2.JPG]Schematic2.JPG[/docimg] [subsection]What you need to get started[/subsection] A publisher or developer can get started with broadcasting to Steam with the following. …
[docimg=action_set_layers_basic_1.png]action_set_layers_basic_1.png[/docimg] When the player selects a class, the appropriate layer is added, e.g. "sniper" [docimg=action_set_layers_sniper_2.png]action_set_layers_sniper_2.png[/docimg] The code for this might look something like: [code=cpp] void changeClass(EClassID myClass) { if(myClass == SNIPER) { SteamInput()->ActivateActionSetLayer( controllerHandle1, sniperLayerHandle ); } //logic for other classes } [/code] If the player enters or exits a vehicle, the controls for the vehicle layer are activated/deactivated on those state changes, adding or removing new controls for vehicle specific functions. …
[docimg=action_set_layers_scope.png]action_set_layers_scope.png[/docimg] [code=cpp] void useScope(bool entering) { if(entering) { SteamInput()->ActivateActionSetLayer( controllerHandle1, scopeHandle ); //apply the scoped-in layer when you scope in } else { SteamInput()->DeactivateActionSetLayer( controllerHandle1, scopeHandle ); //remove the scoped-in layer when you lower the scope } } [/code] Here's how all the layers combine. [docimg=action_set_layers_result_2.png]action_set_layers_result_2.png[/docimg] Note how layers can not only add new actions on top of underyling layers, they can also override previous bindings -- in this case, the vehicle-specific "brake" and "gas" actions override the basic layer's "jump" and "interaction" actions, and "steer" overrides the "move" action bound to the trackpad and joystick on the base layer, and in turn is overriden by the "aim" action from the scoped-in action set layer. …