Modifying files includes uploading new files, uploading new versions of existing files, and deleting files from Steam Cloud. A set of file modification actions should be wrapped in a [b]Batch[/b]. Batches are used to communicate intent to the Steam Cloud for your set of modifications, and help reduce the likelihood of file conflicts. …
[subsection]BeginAppUploadBatch[/subsection] The first operation for a set of file modifications is to call [code-inline]BeginAppUploadBatch[/code-inline]. This call communicates the set of intended uploads and deletes to the SteamCloud, as well as information about the user's machine which is doing the update. …
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. …
Instead, you'll simply insert the same localized image group into every language that you've translated your post into, and Steam will show the correct image to the viewer depending on their language settings. [section]Accessibility Text[/section] For every image that you place in your written description of your store page, you can add alt text, which will be surfaced to players using screen readers. …
[section=types_of_applications]Types of Applications[/section] The following are the different types of applications that you can create on Steam. You can set the type of your app on the [url=https://partner.steamgames.com/apps/view]General Application Settings[/url] section of the App Admin panel. …
. [*]No images, links, or widgets pointing to other games on Steam - This means that you cannot use your store page description to advertise other products on Steam. If you have related products, you can set up bundles, franchises, or developer homepages.[/list] [/list] [subsection]Under "Special Settings" Tab[/subsection] [list][*]Pinned Bundles - Manage the order of the first bundles that appear on your store page - [url=https://steamcommunity.com/groups/steamworks/announcements/detail/4592070813172257798 ]More Info[/url] [*] Related Games that you make - Control which developer, publisher, or franchise is highlighted below each game’s written description - [url=https://store.steampowered.com/news/group/4145017/view/4578559379959234050]More Info[/url] [*] Feature a DLC - Highlight one item of DLC at the top of the DLC list in a bigger way - [url=https://store.steampowered.com/news/group/4145017/view/4578559379959234050]More Info[/url] [/list] [section]Store Beta Mode[/section] When you are initially creating your store page, or when editing an existing store page, you can see most of your changes in beta mode before making those changes public. …
If you would like to make edits to the store page but do not wish to set it public yet, you can do so by clicking "Save" at the bottom of the page and not publishing those changes. There will be a red bar at the top of the page if there are unpublished changes for the app's store page. …
NOT THREADSAFE - Ensure that no other threads are accessing Steamworks API when calling! [subsection=SetLocalIPBinding]SetLocalIPBinding[/subsection] [code=cpp]void SetLocalIPBinding( uint32 unIP, uint16 usPort );[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]unIP[/b][/td][td][apitype]steam_api::uint32[/apitype][/td][td]The local IP to bind to.[/td][/tr] [tr][td][b]usPort[/b][/td][td][apitype]steam_api::uint16[/apitype][/td][td]The port to bind to.[/td][/tr] [/table] Set the local IP and Port to bind to. This must be set before calling [api]ISteamClient::CreateLocalUser[/api]! [subsection=SetWarningMessageHook]SetWarningMessageHook[/subsection] [code=cpp]void SetWarningMessageHook( SteamAPIWarningMessageHook_t pFunction );[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]pFunction[/b][/td][td]SteamAPIWarningMessageHook_t[/td][td]Function pointer to the callback function.…
[/olist] [section=Permissions]Required Permissions For Editing Anti-Cheat Policies[/section] [b]Who can set or edit Anti-Cheat policies for my product?[/b] Only certain publisher accounts have the necessary permissions to enable or adjust anti-cheat policies for your products on Steam. …
The following permissions are required for a specific account in order to set or adjust anti-cheat policies for a product: [list] [*] Your account must have the specific permission: "Manage Signing" for the product in question. …
Artwork Overrides allow you to upload bespoke capsule images to market something specific in your game, and then have those special images automatically expire after a set timespan. Artwork Overrides are the only way to include text about major game updates, tournaments, or other time-sensitive events on your capsules. …
No marketing copy asking a user to take an action (eg. no "Prepurchase Now" or "Wishlisting now available" text) Please see [doclink=store/assets/rules]Graphical Asset Rules[/doclink] for more details and important rules on what can and cannot be included in your graphical asset capsules. [/callout] [section]Setting up[/section] Artwork Overrides are configured from your store page Graphical Assets tab. [olist] [*]Begin by uploading your normal default capsule images—check the [doclink=store/assets]Store Assets documentation[/doclink] for detailed instructions. [*]Once you have default images uploaded, you can create an Artwork Override. …
[subsection]What Steam will manage[/subsection] Steam will manage notifying users in a game session based on the states provided by the game and the specific settings that the user has selected for the game. An alert will be displayed in the Steam client and the web browser for the user when action is required for a game. …
[section=Localization]Localization[/section] Localization is provided by the game developer through a localization tool that is part of the application configuration. You are responsible for setting each language translation for every string entered into the localization tool. Any strings that are not translated to a player’s language will be rendered in English. …
This series of documentation describes the set of tools for building and running sale events on Steam. [subsection]Hosting events on Steam[/subsection] If you are looking for information on hosting a sale event on Steam, please see [doclink=store/promo/organizers][/doclink] [subsection]Getting Started With Sale Editor Tools[/subsection] The best place to start with familiarizing yourself with the sale page editing tools is this overview page here: [doclink=marketing/event_tools/sales/tools][/doclink] For more details on various topics within the sale page editors, please see the following documentation: [list] [*][doclink=marketing/event_tools/sales/groups][/doclink] [*][doclink=marketing/event_tools/sales/livestream][/doclink] [*][doclink=marketing/event_tools/sales/minimum][/doclink] [*][doclink=marketing/event_tools/sales/sections][/doclink] [/list] …
[/subsection] This quick review process checks to help properly categorize your event and to confirm that any necessary mature content settings are appropriately applied. While awaiting moderation, you'll see this note on your event detail page where the visibility stats appear: [docimg=ModerationNote.jpg]ModerationNote.jpg[/docimg] Please note that if you make edits to your post, it will re-enter the moderation queue. …
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. …
You can install Linux and Steam on a machine to test, or request a developer kit once they are available (limited quantities). Once you are set up in your Linux environment / developer kit, you will be able to use the provided debugging tools to run game builds through a remote debugger and profile performance. …
For the Kamu version of EAC, follow these steps in order: [olist] [*]Go into the SDK Configuration settings menu on the EAC partner site and enable Linux as a client platform. [*]Go into the Client Module Releases menu on the EAC partner site, choose the Unix platform, and activate a module. …
[b]Returns:[/b] [apitype]steam_api::uint32[/apitype] The number of events copied to pInput, or the number of events available if pInput is nullptr. [subsection=SetMouseVisibility]SetMouseVisibility[/subsection] [code=cpp]void SetMouseVisibility( RemotePlaySessionID_t unSessionID, bool bVisible );[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]unSessionID[/b][/td][td][apitype]ISteamRemotePlay::RemotePlaySessionID_t[/apitype][/td][td]The session to affect.…
[subsection=SetMousePosition]SetMousePosition[/subsection] [code=cpp]void SetMousePosition( RemotePlaySessionID_t unSessionID, float flNormalizedX, float flNormalizedY );[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]unSessionID [/b][/td][td][apitype]ISteamRemotePlay::RemotePlaySessionID_t[/apitype][/td][td]The session to affect.…
Getting documents correct the first time will help speed up the process of verifying your identity for setting up your Steamworks partner account. Here are some best practices to help guide you. [section]Taking a good selfie[/section] Many of our identity validation steps involve sending us a photo of yourself holding your legal identity document. …
[subsection=SetCloudEnabledForApp]SetCloudEnabledForApp[/subsection] [code=cpp]void SetCloudEnabledForApp( bool bEnabled );[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]bEnabled[/b][/td][td]bool[/td][td]Enable ([b]true[/b]) or disable ([b]false[/b]) the Steam Cloud for this application?…
This is typically accomplished with a checkbox within your in-game options. [subsection=SetSyncPlatforms]SetSyncPlatforms[/subsection] [code=cpp]bool SetSyncPlatforms( const char *pchFile, ERemoteStoragePlatform eRemoteStoragePlatform );[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]pchFile[/b][/td][td]const char *[/td][td]The name of the file.…
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. …