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. …
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. …
[/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). …
[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.…
., "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. …
. [*] [url=http://store.steampowered.com/about/]The Steam for Linux client[/url]. [*] The basic Linux development tool set (e.g. g++, gcc, and a make utility); contained in the build-essential package. Install this package either by using Ubuntu Software Center or from an open terminal window with the apt-get command: sudo apt-get install build-essential. [*] The latest version of the [url=https://github.com/ValveSoftware/steam-runtime]Steam Linux Runtime[/url] which includes the tools and a complete set of libraries required to ship Linux games on Steam. …
Typically, proprietary drivers out-perform open-source drivers and have a larger feature set. In addition, the age of the driver can vary between proprietary and open-source versions. [b]Q: The [doclink=features/overlay][/doclink] won't work when launching from outside of Steam.…
These are the standard store graphical assets. Most of these are required as part of setting up your game on Steam. [section]Store Capsule Rules[/section] [b][color=#ca5029]IMPORTANT NOTE:[/color][/b] Please see [doclink=store/assets/rules]Graphical Asset Rules[/doclink] for important rules on what can and cannot be included in your graphical asset capsules. …
[b]Size: [/b] 1438px x 810px [section=bundle]Bundle Assets[/section] Bundles use the same set of assets as other products on Steam, with one addition: [subsection]Bundle Header[/subsection] [docimg=civ6.jpg]civ6.jpg[/docimg] [b]Usage:[/b] This image appears at the top of the bundle detail page on Steam. …
That will give you more control to configure your broadcast, and let you point Steam directly at your game appID rather than SteamVR.exe. [*][h4]Q. Can I test a stream on my store page by setting it to friends only?[/h4] A. No. Only public streams can appear on your store page. [*][h4]Q. Help, my stream is not showing up on my game product page?…
Click "Edit Store Page " on the app landing page, and add broadcaster(s) into the whitelist in the "Steam Broadcast (Beta) " section on "Special Settings" tab. The event method is preferred since the event start/stop date/time limits how long the stream will show up the store page and can be used to provide context for the content of the stream. …
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.…
[/td][/tr] [tr][td][b]make_workshop_files_subscribable[/b][/td][td]bool[/td][td]✔[/td][td]Allow users to subscribe to the workshop items?[/td][/tr] [/table] Sets the payment rules for a specific item. [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! …
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. …
You can get there from here: https://partner.steamgames.com/apps/inventoryservice/ [*] [b]Enable Inventory Service[/b] Once you have item definitions, turn on the Inventory Service by checking "Enable Inventory Service" on the page you uploaded your item definitions. Note that while your item visibility is set to Private in the Steam Economy Settings, only accounts in your Steamworks Partner group will be able to access your items in-game. [*] [b]Download Users Inventory[/b] Have your game client download the users inventory by calling [api]ISteamInventory::GetAllItems[/api]. …
any unread data on the socket will be thrown away if bNotifyRemoteEnd is set, socket will not be completely destroyed until the remote end acknowledges the disconnect This is part of an older set of functions designed around the Berkeley TCP sockets model it's preferential that you use the P2P functions, they're more robust and these older functions will be removed eventually. …
[/td][/tr] [tr][td][b]m_nRemoteIP[/b][/td][td][apitype]steam_api::uint32[/apitype][/td][td]The IP of remote host if set. Could be a Steam relay server. This only exists for compatibility with older authentication api's.[/td][/tr] [tr][td][b]m_nRemotePort[/b][/td][td][apitype]steam_api::uint16[/apitype][/td][td]The Port of remote host if set. …
Read on for more details on these two options. [subsection]Optional separate store page[/subsection] When setting up your demo store presence, you can optionally choose to enable an entire separate store page for your demo, giving you space to more fully describe your demo. …
[section]Testing your demo[/section] To work properly for customers, your application type must be set as 'Demo' and the App ID of your base game must be entered in the General Application Settings section of the Steamworks website for your demo. …