[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. …
[/introblock] [subsection]Table of contents[/subsection] [table] [tr][td]Live Streaming[/td][td]This page[/td][/tr] [tr][td][doclink=store/broadcast/setting_up]Setting Up A Stream[/doclink][/td][td]Requirements, setup, and configuration[/td][/tr] [tr][td][doclink=store/broadcast/demo]Streaming Demos[/doclink][/td][td]Livestreaming a game demo to your store page[/td][/tr] [tr][td][doclink=store/broadcast/stats]Stats & Reporting[/doclink][/td][td]Viewership stats from your past streams[/td][/tr] [tr][td][doclink=store/broadcast/faq]FAQ[/doclink][/td][td]Frequently Asked Questions on Steam broadcast[/td][/tr] [/table] [section]Broadcasting on Steam[/section] Steam offers a feature that allows content to be streamed to Steam client and the web store. …
[/td][/tr] [tr][td][b]actionSetHandle[/b][/td][td][apitype]ISteamInput::InputActionSetHandle_t[/apitype][/td][td]The handle of the action set you want to activate.…
[/td][/tr] [tr][td][b]actionSetLayerHandle[/b][/td][td][apitype]ISteamInput::InputActionSetHandle_t[/apitype][/td][td]The handle of the action set layer you want to activate.…
We generally suggest launch discounts around 10% to 15%, should you chose to set one. There is a limit of 40%. Launch Discounts are optional and are configured near your release date setting on your app landing page. …
See [doclink=/store/pricing]Pricing[/doclink] for more details and best practices on setting base prices. [subsection]30-Day Discount Cooldown[/subsection] A product cannot be discounted within 30 days of another discount. …
[introblock=ComingSoon2.gif] [h5]In Brief[/h5]Set up a page with information about your game to start building an audience and giving players a place to learn more and add to their wishlist. [h5]Level of integration[/h5]You'll need a set of branding images, written description, and ideally a gameplay trailer. [/introblock] [section]Overview[/section] You can put up a Coming Soon page for your product well in advance of your release date. …
[section=Functions]Functions[/section] These are global functions which do not require an interface to set up. You can read more about these functions in [doclink=sdk/api#steam_game_servers]Steamworks API Overview - Steam Game Servers[/doclink].…
[/td][/tr] [/table] Initializes the ISteamGameServer interface object, and set server properties which may not be changed. After calling this function, you should set any additional server parameters, and then call [api]ISteamGameServer::LogOnAnonymous[/api] or [api]ISteamGameServer::LogOn[/api]. …
[/td][/tr] [tr][td]7 days after[/td][td]Next Fest ends, and the Next Fest recap with the top demos goes live.[/td][/tr] [/table] [subsection=demo]Setting Up Your Demo[/subsection] After registration, you'll need to set up your demo on Steam. This means setting up a demo type app, which is attached to your base game on Steam. …
This is completely optional—if you do not have the experience or time to set up a livestream, it's fine to focus your energy on the demo experience and the game itself. A tutorial on [doclink=store/broadcast/setting_up]streaming to your store page[/doclink] is available. …
From September 2026 onwards, Steam will require you to create this branch manually first (if it doesn't already exist for your app), and will require it to be password-protected. [section]Setting Up Local Content Server[/section] First choose a simple, but high performance web server that only needs to serve static files. …
Find your local build in the list of current builds and select Local from the dropdown next to the desired local build, then click 'Preview Change'. [docimg=setLCSLive.png]setLCSLive.png[/docimg] [section]Configuring Steam Client To Use Your Local Content Server[/section] For the Steam client to know where to look for your game, you'll need to create a file, [code-inline]steam_dev.cfg[/code-inline] in the same directory that contains steam.exe. …
[b]See Also:[/b] [api]ISteamUserStats::ClearAchievement[/api], [api]ISteamUserStats::GetAchievementAndUnlockTime[/api], [api]ISteamUserStats::GetAchievement[/api], [api]ISteamUserStats::SetAchievement[/api] [subsection=SetAchievement]SetAchievement[/subsection] [code=cpp]bool SetAchievement( const char *pchName );[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]pchName[/b][/td][td]const char *[/td][td]The 'API Name' of the Achievement to unlock.…
[/list] [b]See Also:[/b] [api]ISteamUserStats::StoreStats[/api], [api]ISteamUserStats::ResetAllStats[/api], [api]ISteamUserStats::GetAchievementAndUnlockTime[/api], [api]ISteamUserStats::GetAchievement[/api] [subsection=SetStat]SetStat[/subsection] [code=cpp]bool SetStat( const char *pchName, int32 nData ); bool SetStat( const char *pchName, float fData );[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]pchName[/b][/td][td]const char *[/td][td]The 'API Name' of the stat. …
For sale landing pages, there is a robust set of tools that provide a lot of power and customization. Described here are the minimum set of requirements for a basic page. << [doclink=marketing/event_tools/sales/tools]Back to full sale page tools[/doclink] >> [doclink=store/assets]Go to full graphical asset list [/doclink] Sales page Events are made up of two parts: [olist] [*][b]The announcement[/b] - This is the part of the event that shows up as 'news' on your group's page and in the News Hub for any users that follow your group or developer homepage. [*][b]The landing page[/b] - The sale event page itself that features the games, broadcasts, and/or events that you configure. …
This will be posted within your publisher/developer homepage when you hit 'publish' [/list] [section]Required Artwork and Banners[/section] Download the full set of Photoshop templates here: [url=https://www.dropbox.com/scl/fo/mhf604o6bdbcfr1scq7bx/h?rlkey=9bk0ggiwuvs4o1jdnej4xsy0c&st=sb1voje6&dl=0] CURRENT TEMPLATES[/url] The minimum required banners and artwork are these two: [list] [*][b]Event Cover Image[/b] - This is the image that appears when your page is shared on social media and in lists on Steam [*][b]Store Sale Page Background[/b] - The image that appears at the top and background of your sale page. …
If you need the overlay enabled, you can do so by: [list] [*]Making sure your Steam account has the Edit App Metadata permission [*]Navigate from the App's landing page to > Edit Steamworks Settings > Installation tab > General Installation [*]Check box for Enable Steam Overlay for Application [*]Publish [/list] [/callout] [section=activating]Activating the overlay from your app[/section] There are a set of functions in the Steamworks API that give you direct access to triggering the game overlay. …
It needs to be a full url, e.g. http://www.steamgames.com/. [*] [api]ISteamFriends::ActivateGameOverlayToStore[/api] This function can open the game overlay to the buy DLC for the current game (see [doclink=store/application/dlc][/doclink] for more info) [*] [api]ISteamUtils::SetOverlayNotificationPosition[/api] Sets which corner of the screen you want notifications ('toasts') to appear. Default is the bottom-right corner of the screen. [*] [api]ISteamUtils::IsOverlayEnabled[/api] Returns true if the overlay is running & the user can access it. …
Steam automatically outputs a number of debug to the [code-inline]logs[/code-inline] folder, for others you may need to use [doclink=#command_line_parameters][/doclink] or [doclink=#console_commands][/doclink] to enable them. Using [api]ISteamUtils::SetWarningMessageHook[/api] allows a Steamworks application to register a function that allows the Steamworks API to provide human-readable error messages to the application when something goes wrong. …
[list] [*] [b]find <string>[/b] - Lets you find other useful commands [*] [b]set_spew_level[/b] - Enables you to set a higher level of output in the steam console as well as log files. ex: "set_spew_level 4 4" - provides the most verbose logging and is very useful for troubleshooting problems [*] [b]app_info_print <AppID>[/b] - Displays all of the information the Steam servers provide about the game. [*] [b]enable/disable_license <PackageID>[/b] - This allows testing of app ownership, typically DLC. [*] [b]testappcloudpaths <AppID>[/b] - Allows testing of auto-cloud configuration before enabling auto-cloud for all customers. …
Any keynames and values stored in the "string" or "dword" keys will be the registry names and values that get set. To set the [url=https://msdn.microsoft.com/en-us/library/aa266441(v=vs.60).aspx]default value[/url] for a registry key, you should enter the key name as [code-inline](Default)[/code-inline]. …
See [doclink=#requirement_os]OS Specific Requirements[/doclink] for more details. [*] [b]AsCurrentUser[/b] - Optional flag, set it to 1 if it's important for that program to run as the current user. Otherwise, the Steam client might run it as Administrator to avoid elevation prompts in Big Picture or VR environments. …
[section]Pair your Steam Frame[/section] First, make sure you have Developer Mode on in [b]Settings > System > Developer Mode[/b]. Then go to [b]Settings > Developer > Pair new host[/b]. [docimg=steamframe-pairhost.png]steamframe-pairhost.png[/docimg] Then you can launch the SteamOS Devkit Client on your PC. …
[subsection]Command-line arguments and environment variables[/subsection] You can set command-line options under the game's [b]Properties [/b]in Steam like you would for any other application. The text in this field gets appended to the launch command (i.e. …
Once all your trading card assets are uploaded, click the edit link beneath “Release State” to configure your card drop settings and mark your assets as ready for review. Once set as ready for review, your cards will automatically appear in our queue to review by a Valve designer. After your assets are approved, you'll see the status update on your Steamworks home page. You’ll then be able to set the release state to “Released” and publish the items. You can check our [doclink=marketing/tradingcards]Steam Trading Cards[/doclink] documentation for more information.…
Your item definition would just have the [code-inline]tags_to_remove_on_tool_use[/code-inline] property set. [code] itemdefid: 300 type: tag_tool name: Paint Stripper tags_to_remove_on_tool_use: paint_color [/code] [subsection]Tag Generator Example[/subsection] Instead of a specific paint color, you can set up a tool that can apply tags from a [code-inline]tag_generator[/code-inline] item definition. …
Once the "Kill Stat Tracker" has been applied to the Rocket Launcher, the dynamic property "kills" can be set on the Rocket Launcher as well.…
[/td] [/tr] [/table] [section=started]Getting Started[/section] Sale landing pages are built on top of Steam Community groups such as for Developers homepages or Steam Curators. There is a setting that needs to be enabled specifically by someone at Valve to unlock the new event tools and then another setting to enable the sale page tools for a specific event. …
[subsection]Adding your games[/subsection] Games are organized on your page in one or more sections. These sections can be set to manually include a specific set of games or can be set to smartly pull from a master list specified at the top of your page (master list must be enabled by Valve first). …
., "accessory_tag": "sticker", "accessory_limit": 3, "allowed_tags_from_tools": "sticker" } [/code] Each sticker type is created with the "type" set to a "tag_tool". The action of the tag tool will be to apply the accessory tag, with the itemdef of this sticker as the argument. …
Per-item tags can also be set other ways, including by item generators - see [doclink=features/inventory/itemtags]the Item Tag page[/doclink]. [subsection]Localization and appearance[/subsection] Accessories are automatically rendered in the web view including the users' backpack and the Community Market. …
[/td][/tr] [tr][td][doclink=store/pricing][/doclink][/td][td]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.…
[/td][/tr] [tr][td][doclink=store/updates][/doclink][/td][td]A general set of practices to consider when making an update, along with some best practices that we at Valve have learned from the major updates we've made with our own products and by learning from the many other products that are available via Steam.…
This is used for iteration, after calling this then [api]ISteamFriends::GetCoplayFriend[/api] can be used to get the Steam ID of each player. These players are have been set with previous calls to [api]ISteamFriends::SetPlayedWith[/api]. [b]Returns:[/b] int The number of users that the current user has recently played with. …
[/td][/tr] [/table] Gets the number of Rich Presence keys that are set on the specified user. This is used for iteration, after calling this then [api]ISteamFriends::GetFriendRichPresenceKeyByIndex[/api] to get the rich presence keys. …
This will allow the event to start showing up to players based on the visibility settings you have chosen. It can appear immediately to make an upcoming event visible to players, or only when the event begins, or on a specific date you want it to become visible. …
[list] [*][b]Using inappropriate content[/b] - Content in the event should be appropriate relative to the settings for your product. In other words, if your product is marketed as all-ages, don't include sexual or violent content in the announcement. …