Refer to the template (downloadable above) for the area in the middle occluded by the profile.[/h4] [list] [*]300 x 168px .webm <1MB (for preview purposes) [*]300 x 168px .mp4 <1MB (for preview purposes) [*]1920 x 1080px .jpg (still) < 350KB [*]1920 x 1080px .mp4 <4MB [*]1920 x 1080px .webm <4MB [/list] [img]https://steamcdn-a.akamaihd.net/steamcommunity/public/images/steamworks_docs/english/anim_BG_GIF.gif[/img] [url=https://store.steampowered.com/points/shop/c/backgrounds](Click here to see examples live in the Points Shop.)…
This image will be used to represent your startup movie in a user's inventory and in Steam client settings. [list] [*]No alpha is permitted. [*]No animation is permitted - it must be a single frame image. [*].png, .jpg and .webp are all accepted. …
[section=localized_app_names]Localized Application Names[/section] In the General Application Settings of the Steamworks Settings section for your app, you can enter localized names for your product. Setting a localized name for a language will cause that name to display to customers who run Steam in that language. [docimg=localize_game_name.jpg]localize_game_name.jpg[/docimg] If you set localized names in the Steamworks Settings section, this will override any name set in the Store Page section for that language, so that the localized name shown on the Store page will always match the localized name the customer sees in the library. …
[/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. …
So if Game A and Game B were sold together in a bundle, the sale would appear as 1 unit of Game A and 1 unit of Game B. The CSV from the Sales & Activations Reports portal will also indicate if a package sale was recorded as being sold in a bundle. …
[docimg=CurrentBetaExample.jpg]CurrentBetaExample.jpg[/docimg] [section]Default Branch[/section] The default branch is the version of your game delivered to your customers on Steam. Prior to release, this is the version that your testers will download by default. Once your game is live, there is nothing special you need to do to deliver your default build to your customers. …
Example if your title is currently live on Steam: [list] [*] You need to fix some issues that you're seeing pop up in [doclink=features/error_reporting]Error Reporting[/doclink], but you need a means of testing your fixes before updating the game for your customers. [*] You are not shipping any new content, so you don't mind if customers want to opt-in to your beta and play the version you are working on. [*] Here are the steps to set that up: [list] [*] Create a new branch in the Builds tab of your App Admin [*] Using the ContentBuilder tools in the Steamworks SDK, upload the build you wish to use for testing [*] Refresh your App Admin page and the latest build should appear at the top of the list labeled [b]Showing last 50 builds:[/b] [*] Select the branch from the "Set build live for branch...…
Feel free to customize their appearance or add new sections if you wish to highlight individual games, sets of games, or other content (video, text, images) as appropriate. …
Use them to organize franchises, series, or sets of DLC. [docimg=Homepage_Valve_ListOfLists.png]Homepage_Valve_ListOfLists.png[/docimg] [*][b]Custom background artwork[/b] - You can style your entire page by uploading a custom background artwork. …
\n" ); break; } } else { // Device is not a controller through Steam Input - use your normal controller ID logic continue; } } } free(devices); } [/code] [section]Setting the Steamworks Settings[/section] The first step is to setup which controllers will use Steam Input in the Opt-in section on the Steamworks settings under Application->Steam Input. …
[/list] [docimg=steam_input_gamepad_templates.png]steam_input_gamepad_templates.png[/docimg] Steps for setting the template live for your game in Steamworks can be found [url=https://partner.steamgames.com/doc/features/steam_controller/getting_started_for_devs#23]here[/url] [subsection]Creating a custom configuration[/subsection] Configurations can be auto-converted between most controller types, but you'll at a minimum want to make a Steam Controller and Xbox controller configuration. …
[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. …
When you post information about your game, you can use your Coming Soon page on Steam to start collecting feedback and let customers add your game to their [doclink=marketing/wishlist]Wishlist[/doclink]. Some things to consider: [list] [*]You may want to wait to start showing off your game publicly until you are pretty confident on your art direction and core feature set. …
[/td][/tr] [tr][td][doclink=store/tags][/doclink][/td][td]Tags are terms that can be applied to your game, and visible on your store page. Tags are an important set of metadata that helps describe a game to customers and helps Steam figure out how best to recommend your game. [/td][/tr] [tr][td][doclink=store/trailer][/doclink][/td][td]As part of the release process on Steam, you will be required to upload a trailer for your product. …
This documentation dives into how to set up a Free to Play game, store visibility, and best practices for Free to Play developers.…
Once you've figured that out, then you'll need to think about how your client will load the content and what kind of tools are necessary for customers to create that content. If you've got a game that customers are excited about, then they'll figure out ways of making the content for your game. …
There are two parts to this: [olist] [*] Beta of your game (via Steam) - The first step is to create an updated build of your game and set it as a beta in Steam. This enables Steam to deliver a separate version of your game that customers have to opt in to and can be optionally password protected. [*] Beta of your Workshop (via Group) - You can set up a group in the Steam Community and use membership in that group to gate access to the Steam Workshop. …
[/td][/tr] [tr][td][b]pchPostData[/b][/td][td]const char *[/td][td]Optionally send a POST request with this data, set this to NULL to not send any data.[/td][/tr] [/table] Navigate to a specified URL. If you send POST data with [code-inline]pchPostData[/code-inline] then the data should be formatted as: [code-inline]name1=value1&name2=value2[/code-inline]. …
"/accounts"[/td][/tr] [tr][td][b]nExpires[/b][/td][td][apitype]steam_api::RTime32[/apitype][/td][td]Sets the 'Expires' attribute on the cookie to the specified timestamp in Unix epoch format (seconds since Jan 1st 1970).[/td][/tr] [tr][td][b]bSecure[/b][/td][td]bool[/td][td]Sets the 'Secure' attribute.…
You can also set the distance from the specified corner by using [api]ISteamUtils::SetOverlayNotificationInset[/api]. This position is per-game and is reset each launch. …
[table] [tr][th]Name[/th][th]Value[/th][th]Description[/th][/tr] [tr=k_ESteamHardwareDefaultConfigNone][td][b]k_ESteamHardwareDefaultConfigNone[/b][/td][td]0[/td][td]No default configuration set.[/td][/tr] [tr=k_ESteamHardwareDefaultConfigLow][td][b]k_ESteamHardwareDefaultConfigLow[/b][/td][td]1[/td][td]Low default configuration.…
Click "Post As Coming Soon" to view options and to make your page live for customers. There is no option on your store page for customers to purchase or play your game at this stage. This will make your store page and community hub visible to customers and listed as upcoming, with whatever release date you set. …
But we do want customers to see honest and accurate information on the store. For more information, please see complete [doclink=store/coming_soon]Coming Soon[/doclink] documentation. …
In many cases, we urge you to consider whether recurring subscription is really the right path for your product. Many products have set off down this path and discovered that customer appetite for signing up to be billed on a recurring basis is limited and as a result many products have subsequently switched to a traditional single up-front payment method. …
[h4]In-game managed (Microtransactions)[/h4] The game started a recurring billing by invoking an in-game purchase and confirmed by customer through a Steam webpage. This is configured and managed entirely by the game. Please see [doclink=features/microtransactions/recurring_billing][/doclink] for details on getting this set up. …
See [doclink=store/franchise_pages]Franchise Pages documentation[/doclink] for more information on setting up a franchise homepage. Once you are a member of other groups that are set up as franchise homepages, you can select them to display in this section. …
This section will then automatically populate with the titles we've made, sorted in order of revenue. [section]Customized Tags[/section] [docimg=custom_tags_01.jpg]custom_tags_01.jpg[/docimg] You can also customize the tags that are shown in the left-most column of your tabbed area. …
[b]Example:[/b] [code=cpp]void updateStateLoop() { switch( currentState ) { case MENU: SteamController()->ActivateActionSet( controllerHandle1, menuSetHandle ); doMenuStuff(); break; case WALKING: SteamController()->ActivateActionSet( controllerHandle1, walkingSetHandle ); doWalkingStuff(); break; case DRIVING: SteamController()->ActivateActionSet( controllerHandle1, drivingSetHandle ); doDrivingStuff(); break; case FIGHTING: SteamController()->ActivateActionSet( controllerHandle1, fightingSetHandle ); doFightingStuff(); break; } }[/code] [callout=green] [h3]Activate All Controllers[/h3] Oftentimes, you'll want to activate all the controllers at once, rather than a single device. …
[b]Example:[/b] [code=cpp] SteamController()->ActivateActionSetLayer( controllerHandle1, myActionSetLayer ); [/code] [subsection=DeactivateActionSetLayer]DeactivateActionSetLayer[/subsection] [code=cpp]void DeactivateActionSetLayer( ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetLayerHandle );[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]controllerHandle[/b][/td][td][apitype]ISteamController::ControllerHandle_t[/apitype][/td][td]The handle of the controller you want to deactivate an action set layer for.…
[callout][b]NOTE[/b]: This documentation is for developers interested in learning more about Steam Cloud Play for their games on Steam. If you are a customer and are interested in signing up for NVIDIA GeForce NOW, click [url= https://www.nvidia.com/en-us/geforce-now/#product-matrix]here[/url].…
Visit this knowledge base article [url]https://nvidia.custhelp.com/app/answers/detail/a_id/5023[/url] for a list of supported countries [b] How do I sign up as a customer to play my supported Steam games on GeForce NOW?[/b] You can sign up as a customer [url=https://www.nvidia.com/en-us/geforce-now/?…
SteamVR will always use a Frame Controller binding by default but in the case one is not available it will first look for a [url=https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_generic_controller]OpenXR Generic Controller[/url] binding, then an [url=https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#semantic-paths-oculus-touch-controller-profile]Oculus Touch[/url] binding, and remap those to the Frame Controller layout. …
[subsection=openxr]OpenXR Interaction Profile[/subsection] You'll find an OpenXR Interaction Profile included in each Game Engine plugin (or in the case of Godot in the engine itself). If you have your own custom engine you can add support via our extension detailed on the [doclink=steamframe/engines/custom][/doclink] documentation page. …
We have seen partners run continuous streams that go longer than a couple days. Its up to you to decide when are the best times to reach your customers with the live content. Also consider that Steam customers are around the world. Sometimes after major events, it might be valuable to replay past content so that all your potential customers and fans can see it. [*][h4]Q. …
You can create stream that will showcase multiple of your games without restarting the stream. To ensure customers know which game is being played, we recommend as the games change within the stream, that the 'Broadcast App ID' is updated on your [url=https://steamcommunity.com/broadcast/upload/]Broadcast Settings page[/url]. …
[url=https://steamcommunity.com/actions/GroupCreate]Create a new group[/url] or use an existing group you may have set up in the past with your franchise name. [url=https://support.steampowered.com/kb_article.php?ref=2092-QLZX-8453]Learn more about Steam Community groups[/url] [*][b]Set the ‘franchise’ on each game[/b] - In the ‘edit store page’ section for any of your games (right below where you set developer and publisher), you'll need to specify the franchise name you want to use and then click the 'link' button to select your group to link it to. …
This takes a small amount of configuration to appear, so read on below for more details on setting this up. [docimg=our_franchises_02.jpg]our_franchises_02.jpg[/docimg] [section]Highlight franchises on your homepage[/section] Now you can customize your sections on your homepage to show a list of your franchises. …
Please note that only the partner who has payment rights for the game will be able to set pricing and discounts for shared apps. [section]Transfer of Attached Data[/section] All data, including sales, wishlists, followers, user reviews, etc. are associated with the game and will always be associated with the game. …
You may wish to choose a particular date to conform to your contract, but we find that for accounting purposes, the 1st of the current or following month may be a convenient date for some partners. We do not recommend and may not allow dates far in advance of the current date or dates earlier than the 1st of the current month. …