However, when the user goes to your library page, we also look for any event with the "Featured Event" flag set. We will show the newest of those above all of the chronologically displayed events. It will appear there until the user has seen it, at which point it will stay there for 48 hours before moving to the correct spot in the chronological list. [b]Enabling "Featured Event" flag[/b] To force your event to be pinned to the top of your game's library page, select the "Options" tab for your event and toggle on the setting labeled "Display as a Featured Event on the Library Game Detail page?" [section]Exceptions[/section] For the most part, all events appear in all places, but there are some exceptions for certain kinds of events that don't make sense to show to players in certain contexts. …
For some locations, such as VR Arcades, they typically use their own set of accounts to provide access to games. In those situations, there is no exchange or connection made between the organization's system and your Steam account.…
Steam has a set of tools for creating and configuring a custom sale landing page that you can use to highlight games for a special sale, game festival, or digital companion for a physical convention. …
[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. What sets it apart from other games? It's often a good idea to mention the game genre. [*] [b]Save the Details for Later[/b] - The short description is generally not the best place to describe your game's full feature list or its narrative story arc. …
To help maintain this focus, and to minimize clutter across the Store, we maintain the following set of rules for Store Page descriptions: [list] [*][b]No links [/b] - You cannot use your store page descriptions or graphical assets to promote or link to other websites. …
[/introblock] [section]Overview[/section] Partners on Steam are responsible for setting and managing pricing for their products. The Steamworks Developer site provides tools to configure pricing and discounts in all the currencies supported by Steam. …
The following permissions are required for a specific account in order to set or adjust pricing for a product: [list][*]The Steamworks partner that you are a member of must be the partner getting paid for sales of the product. …
See: [doclink=store/application/platforms/linux][/doclink] [*] [b]ContentPrep.zip[/b] - Deprecated. This was used to set the correct permissions for macOS applications before SteamPipe became available. [*] [b]SteamPipeGUI.zip[/b] - A [doclink=sdk/uploading#steampipe_gui_tool]SteamPipe GUI Tool[/doclink] for Windows to make uploading simple products even easier. …
[/olist] [subsection=create]Create a Bundle[/subsection] In general, for collaborative bundles, we strongly suggest that they are created with the 'Complete the set' bundle type. This makes it easier to add games to bundle overtime while presenting the easiest to consume version of the bundle. …
Any previous URL will be invalidated. [*][b]Q. I have a bundle with multiple partners' game in it that Valve set up for me, how do I edit it?[/b] A. The owner of the bundle, which is the partner that originally created the bundle, will be able to enable collaboration mode on that bundle and that will allow for future edits to the bundle. …
[docimg=daily_deal_updated.jpg]daily_deal_updated.jpg[/docimg] [section]Daily Deal Eligibility[/section] Since Daily Deals appear prominently in the Steam Store and are visible to broad swaths of customers, we need to have confidence that these offers will be interesting to a broad set of customers. Therefore, we judge eligibility for daily deals based on demonstrated customer interest or trending momentum in revenue over the past few months. …
[/list] [subsection]Visibility & Duration[/subsection] Two or more Daily Deals are displayed on the front page of Steam and may also be featured on appropriate tag pages (RPG, Simulation, VR, etc). From the set of active Daily Deals, Steam will prioritize which ones are surfaced first to each user depending on each players' play history and selected language. …
You can use this information to help figure out if there is particular work you can do on your game to address bugs, balance gameplay, or better set player expectations ahead of time. For the Steam refund policy details, please see https://store.steampowered.com/steam_refunds/ [section]Accessing Your Game's Refund Stats[/section] [olist] [*]Visit the Sales & Activations Reports website here: https://partner.steampowered.com/ [*]Select a specific package that you wish to view refund data for [*]Under the "Links" section to the right of the package page, click "Refund Data" [/olist] [section]Stats Explained[/section] You can select between recent week/month/lifetime to see various views of your refund activity. …
One alternative is to call SteamAPI_RunCallbacks from the main thread only, and call [api]steam_api::SteamAPI_ReleaseCurrentThreadMemory[/api] regularly on other threads. [subsection=SteamAPI_SetMiniDumpComment]SteamAPI_SetMiniDumpComment[/subsection] [code=cpp]S_API void S_CALLTYPE SteamAPI_SetMiniDumpComment( const char *pchMsg );[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]pchMsg[/b][/td][td]const char *[/td][td]The message to attach to the minidump. …
[/td][/tr] [tr=k_EBroadcastUploadResultRelayFailed][td][b]k_EBroadcastUploadResultRelayFailed[/b][/td][td]9[/td][td]Relay dropped the upload.[/td][/tr] [tr=k_EBroadcastUploadResultSettingsChanged][td][b]k_EBroadcastUploadResultSettingsChanged[/b][/td][td]10[/td][td]The client changed broadcast settings.[/td][/tr] [tr=k_EBroadcastUploadResultMissingAudio][td][b]k_EBroadcastUploadResultMissingAudio[/b][/td][td]11[/td][td]Client failed to send audio data.…
If the user is playing a shared copy, the response field "permanent" will be set to false and the field "ownersteamid" will contain the original owners SteamID, different from the caller provided SteamID. …
As an example, Web API methods are commonly used by a secure publisher server to: [list] [*] Verify a Steam user's credentials with that server [*] Check if a user owns a particular application [*] Set or retrieve a user's stats, achievements or leaderboard scores [*] Execute an in-game purchase [/list] You can find a complete list of everything offered by the Steamworks Web API in the [doclink=webapi][/doclink]. …
To pass in data as JSON, invoke the web API method with the [code-inline]input_json[/code-inline] parameter set like: [code]?key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&input_json={"steamid":76561197972495328}[/code] Note that the JSON will need to be URL-encoded. …
If you'd like to distribute your driver on Steam, you can become a Steamworks developer and set up your driver for distribution as an application. [b]Q. OpenVR does not support a feature of my device. Can Valve help?[/b] [b]A.…
[subsection]Platform Breakdown[/subsection] You'll notice a section labeled 'Platform-specific wishlisting' on the right-hand side of your Wishlist reporting. This indicates the platform that players have explicitly set in their Steam preferences. This will almost always be a subset of total wishlists, as not every player has selected a specific platform. …
[/td][/tr] [/table] Structure of the [code-inline]lobby_metadata[/code-inline] property: [table] [tr][th]Name[/th][th]Type[/th][th]Required[/th][th]Description[/th][/tr] [tr][td][b]key_name[/b][/td][td]string[/td][td][/td][td]Key name[/td][/tr] [tr][td][b]key_value[/b][/td][td]string[/td][td][/td][td]Key value[/td][/tr] [/table] When using the CreateLobby WebAPI, you'll probably want to set lobby_type to 4 (k_ELobbyTypePrivateUnique). This lobby type is a private, unique lobby that does not get deleted when emptied, and only one will exist per unique appid/lobby_name. …
You can update the list of members by calling CreateLobby with the same lobby_name and new complete set of steamIDs. Any steamIDs that were previously in the lobby and not included in the new call will be removed from the lobby. Lobby_metadata is completely optional, but can be used to send general lobby data that needs to be communicated to users in the client. …
[url=https://store.steampowered.com/news/group/4145017/view/668369251018476379]Learn more and set a reminder here[/url]. [/list] [b]January 2027[/b] [*][b]January 10, 11:59pm PST - Registration Deadline[/b] [list] [*]This is also when we recommend you have your marketing materials up-to-date to ensure you can be considered for potential inclusion in official Steam Next Fest marketing materials, in particular the official event trailer. …
All demos that have opted in to be available for press preview will be included. [*][b]February 22[/b] -[b] Steam Next Fest: February 2027 begins at 10am PST[/b]; set your demo live (or opt out if your plans have changed) before 10am PST. [*][b]March 1[/b] - Steam Next Fest: February 2027 concludes. [*][b]March 1[/b] - Steam Next Fest: February 2027 Wrap-Up (featuring games with the most played demos of the Fest) launches. …
You can enter your discount for each via the [url=https://partner.steamgames.com/promotion/discounts/dashboard/]Discount Management page[/url]. Every game on Steam can join a seasonal sale and any discount set to 20% or greater will automatically trigger email notifications to players with your game on their wishlist. Discounted titles are eligible to appear in various 'specials' sections throughout Steam, based on your game's tags, popularity of your game, and to users that it is recommended. …
[/td][/tr] [tr][td][b]pnBufferSize[/b][/td][td][apitype]steam_api::int32[/apitype] *[/td][td]This should be set to the size of [code-inline]pchBuffer[/code-inline], and returns the number of bytes written to [code-inline]pchBuffer[/code-inline].…
The size of the OPF string varies, but at this time 48,000 bytes should be sufficient to contain the full string. If it is not, [code-inline]pnBufferSize[/code-inline] will be set to the size required. In that case, make a second call with the correct buffer size. [b]NOTE:[/b] The data returned in a successful call to GetOPFStringForApp() can only be retrieved once. …
Once the Cafe Distribution Addendum is signed, you will be able to create a Commercial package, and continue with the process of setting a price. We recommend offering the commercial license at the same price as the regular end user version. [docimg=cafe_commercial_packages.JPG]cafe_commercial_packages.JPG[/docimg] Prices will then get approved by Valve. …
[/h4] The [url=https://store.steampowered.com/steam_refunds/]refund policy[/url] is set up to closely mimic the consumer version (2 weeks/2 hours). [*][h4]Can I see if a player is in a Café?[/h4] You can make use of our webAPI ownership calls to find out if the player is accessing a license from the Café they're in and provide them with special items or content. …
[section]Setup[/section] To run a Free Weekend, you'll first need approval from the Steam Team as described in the [doclink=marketing/discounts/freeweekends#1]Overview[/doclink] above. If approved, here are few set up steps and best practices: [subsection]Steam Team Setup:[/subsection] [list] [*] The Steam Team will create a special Free Weekend package that grants players access to your game during the event. …
[/list] [subsection]Best Practices:[/subsection] To make the most of your Free Weekend, we recommend the following:[list] [*]Pair your Free Weekend with a compelling discount on your paid package to encourage conversions. [*]Extend your discount a few days beyond the end of the Free Weekend to give players extra time to upgrade after trying the game. [*]Ensure your game servers are ready for a temporary influx of new players. [*]If you're messaging your Free Weekend off of Steam, consider pointing those communications at your base game's Store Page and using [doclink=/marketing/utm_analytics]UTM analytics[/doclink] to measure the impact. [*]To help message your Free Weekend on Steam, consider: [list] [*]Creating a [doclink=/marketing/event_tools]News Event[/doclink] to let your current players know about the Free Weekend and that they can invite their friends to play for free while it's active. [*]Setting up a temporary [doclink=store/assets/overrides]Artwork Override[/doclink] about your Free Weekend. Be sure to align the override’s start and end times with the Free Weekend dates. …