The Tag Wizard helps you create a tag profile which includes: [list] [*] [b]Genres[/b], with particular attention to the most specific Genre or Sub-Genre [list] [*] Example: [i]Super Meat Boy[/i] can most specifically be described as a Precision Platformer [*][b]Super-Genre[/b]: Action [*][b]Genre[/b]: Platformer [*][b]Sub-Genre[/b]: Precision Platformer [/list] [*] [b]Visual properties[/b], such as [list] [*] [b]Dimensions[/b]: 2D, 2.5D, 3D [*] [b]Camera Perspective[/b]: Third-Person, First-Person, Top-Down, Isometric, Side-Scroller, etc. [*] [b]Visual Style[/b]: Pixel Graphics, Realistic, Abstract, Anime, Cute, Stylized, Minimalist, etc. …
You can remove any tags you find unwanted ("family friendly" for a horror game) or inaccurate ("2D" for a 3D game). [subsection]Tag page visibility[/subsection] The top 20 tags on your game determine the tag pages and similar browse views that your game can appear on. …
The next time we open the radial menu, we will see this instead: [docimg=slime_rancher_2.png]slime_rancher_2.png[/docimg] Now we have options such as "Take screenshot", "Show keyboard", and volume controls. …
" [docimg=slime_rancher_add_layer_1.png]slime_rancher_add_layer_1.png[/docimg] We'll call it "System Options." [docimg=slime_rancher_add_layer_2_1.png]slime_rancher_add_layer_2_1.png[/docimg] Now that that's done, we return to our base configuration and "game controls" action set, then select the left trackpad and configure our basic radial menu: [docimg=slime_rancher_radial_menu_config_1.png]slime_rancher_radial_menu_config_1.png[/docimg] Everything is pretty normal except for Menu Button 5, which activates the action set layer. …
[/td][/tr] [tr=k_ERemotePlayInputMouseButtonDown][td][b]k_ERemotePlayInputMouseButtonDown[/b][/td][td]2[/td][td]Mouse button down event.[/td][/tr] [tr=k_ERemotePlayInputMouseButtonUp][td][b]k_ERemotePlayInputMouseButtonUp[/b][/td][td]3[/td][td]Mouse button up event.…
[/td][/tr] [tr=k_ERemotePlayInputKeyDown][td][b]k_ERemotePlayInputKeyDown[/b][/td][td]5[/td][td]Keyboard key down event.[/td][/tr] [tr=k_ERemotePlayInputKeyUp][td][b]k_ERemotePlayInputKeyUp[/b][/td][td]6[/td][td]Keyboard key up event.…
Example [b]vrpreferences.json[/b]: [code=json] { "steam_frame": { "preferResolution": 2160, "preferMinRefreshRate": 90, "preferHalfFramerate": true, "preferMotionSmoothingMode": "off" } } [/code] This example file suggests: [list] [*]A default resolution of 2160x2160 [*]A default display refresh rate of 90 Hz [*]A default frame throttling to 1/2 (Frame Limit to 45 FPS) [*]A default override to disable Motion Smoothing [/list] To validate that the [b]vrpreferences.json[/b] is picked up by SteamVR, the [b]vrserver.txt[/b] log file can be searched: [code=plain] [Info] - [Settings] Loading app-provided preferences from '/home/steamos/.local/share/Steam/steamapps/common/<game folder>/vrpreferences.json' [/code] Parsing errors will be reported in this log, for example: [code=plain] [Info] - Parsing of JSON file "/home/steamos/.local/share/Steam/steamapps/common/[...]/vrpreferences.json" failed: * Line 5, Column 3 4: "preferMinRefreshRate": 120, 5: } 6: } Missing '}' or object member name Tue Jul 28 2026 11:05:56.126069 [Info] - [Settings] No or invalid application preferences settings at '/home/steamos/.local/share/Steam/steamapps/common/[...]…
[section]Library Asset Templates[/section] [table] [tr][td][b]Templates[/b][/td] [td] [url=https://www.dropbox.com/scl/fo/cvkwbosmrimklcl9h0qko/AF5IPErKP-mQM_3YO1Dw2lA?rlkey=b3ad0izykq367g4luasrinw9z&dl=0]Download templates[/url] for sizing and text placements on library images. …
[section=capsule]Library Capsule [color=#ca5029]Required[/color][/section] The library capsule is the primary way of presenting your game within the Steam Library, including on the library overview and within collections. [docimg=library_capsule_example2.jpg]library_capsule_example2.jpg[/docimg] [b]Usage:[/b] This image is primarily used in the library overview and collection views. …
(You can localize the quote in other languages) [b]Some guidelines:[/b] [list][*]Reviews should be accurate and you should have permission to post them [*]Quotes should be relatively short (Ideally 1 or 2 short sentences) [*]Quotes should be localized where possible [docimg=reviewexamples.png]reviewexamples.png[/docimg] [/list] [b]Visibility on Steam[/b] Reviews appear directly below the "Recent Events and Announcements" section and above the "About this game" section. …
You can configure the information using BBCode similar to your game description [docimg=awardinput.png]awardinput.png[/docimg] [b]Some guidelines:[/b] [list][*]Awards should be accurate. [*]Include the most important awards. Usually 1-5 awards is enough. Any more makes it confusing for users. The Awards section is collapsed as a default and can be expanded by the user. [*]Awards should be localized where possible[/list] [b]Visibility on Steam[/b] Awards appear directly below the Share and Embed section on the right hand side of your Steam page [docimg=awardlocation_1.PNG]awardlocation_1.PNG[/docimg] …
[section]Hardware Overview[/section] [b]Does Steam Deck support multithreading?[/b] Yes, up to 8 threads. [b]Are there any plans to add 5G or LTE at this point in time?[/b] No plans to add cellular, however you can always tether to your phone. [b]Do we have any specific recommendations on how to optimize for battery life?…
[/b] We'll always try to update to the latest kernel version. Right now we're using 5.13, and we're working on an update to 5.15, and we'll continue to roll out those changes to whatever's latest, moving forward. …
Reviews typically take 2–3 business days, during which the team will ensure your event complies with the [doclink=/store/promo/organizers#10]Event Hosting Rules[/doclink]. …
[/td][/tr] [tr][td]2 Weeks Out[/td][td][b]Submit Sale Page & Assets[/b][/td][td]Finalize your sale page and submit it for review. If your event has been chosen for curated featuring, submit your layered PSD files to the Steam Events Team via the asset portal link shared in your ticket.…
[/td][/tr] [tr][td][/td][td][b]additional_revenue_share_tier[/b][/td][td]ERevenueShareBonusTier[/td][td]✔[/td][td]✔[/td][td][/td][td]What additional revenue share, if any, has this sale qualified for on the given date[/td][/tr] [/table] [b]ERevenueShareBonusTier (int32)[/b] [table] [tr][th]Value[/th][th]Name[/th][th]Description[/th][/tr] [tr][td][b]0[/b][/td][td]k_ERevenueShareBonusTier_None[/td][td]No additional revenue share[/td][/tr] [tr][td][b]1[/b][/td][td]k_ERevenueShareBonusTier_5Percent[/td][td]5% additional revenue share[/td][/tr] [tr][td][b]2[/b][/td][td]k_ERevenueShareBonusTier_10Percent[/td][td]10% additional revenue share[/td][/tr] [/table] [b]CPartnerFinancials_DiscountInfo[/b] [table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]discountid[/b][/td][td]int32[/td][td]The unique id for the given discount[/td][/tr] [tr][td][b]discount_description [/b][/td][td]string[/td][td]The discount description. …
For example: - On June 1st, it would be good practice to query May 31st and June 1st data. - On June 2nd, it would be good practice to query June 1st and June 2nd, but re-querying May 31st should not provide any new or changed data. …
[code] itemdefid: 801 name: Everything Crate type: item container_contents_generator: 800[/code] When viewed on the Steam Community, the item description will include the list of potential items generated by generator 800 (the "Master generator" above) in order of increasing rarity. The 5 Common items would be listed first, as they are most likely to drop, followed by the 5 Special items. [subsection=ExchangeFormat]Exchange Formulas[/subsection] The ExchangeItems API allows you to define item crafting/transformation recipes that can be securely called from the client. …
There are three controls that will allow the following customization: (1) How long before a item drop? (2) How many items drops in a window? And, (3) How long is the cool-down window before we can grant another item drop? The same control exists per itemdef. …
[/td][/tr] [tr][td][b]Templates[/b][/td] [td][url=https://www.dropbox.com/scl/fo/cvkwbosmrimklcl9h0qko/AF5IPErKP-mQM_3YO1Dw2lA?rlkey=b3ad0izykq367g4luasrinw9z&dl=0]Download templates[/url] for sizing and text placements on event images. …
Your Store Page descriptions can be found in each app of Steamworks under Store Presence > Edit Store Page > Description [section]Your Product's Short Description[/section] Your product's short description is meant to be a brief synopsis, used in locations on Steam where real estate is limited, most notably at the very top of your game's store page. [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. …
This includes via embedded images, QR codes and even implied URLs via text such as "DOTA2 DOT COM". Instead, you should use the specific link fields provided if you want to link tocommon social media platforms or your own website. …
Trailers are displayed at the top of your product's store page and are often one of the first things your potential customers will be seeing. [docimg=Portal2TrailerExample2_1.jpg]Portal2TrailerExample2_1.jpg[/docimg] [section]Best Practices[/section] Trailers are important in marketing your product on Steam. …
The trailer should be the highest resolution that you have, up to 1920 x 1080 resolution, 30/29.97 or 60/59.94 fps, high bit rate (5,000+ Kbps) and in .mov, .wmv, or .mp4 container files. H.264 video and AAC audio is preferred, but we can transcode from many formats. 16:9 aspect ratio is preferred since the Steam client is optimized for widescreen, but 4:3 aspect ratio is accepted. …
[docimg=steam_controller_face.png]steam_controller_face.png[/docimg] [subsection=Joystick]Joystick[/subsection] [b]Analog, 2 axes[/b] (+ digital "click") The analog joystick is essentially identical to a traditional controller's, including digital "click the stick" functionality. …
[docimg=steam_controller_gyro.png]steam_controller_gyro.png[/docimg] [subsection=BLE]BLE FW Update[/subsection] The Windows FW update tool installing the BLE FW image or rolling back to production FW can be found here: [docfile=Steam_Controller_FW_Update_Tool_5b0f21bd.zip]Steam Controller FW Update Tool[/docfile]…
[/td][/tr] [tr=k_EGameIDTypeShortcut][td][b]k_EGameIDTypeShortcut[/b][/td][td]2[/td][td]The game ID is a shortcut.[/td][/tr] [tr=k_EGameIDTypeP2P][td][b]k_EGameIDTypeP2P[/b][/td][td]3[/td][td]The game ID is a P2P file.…
[/td][/tr] [tr=k_EPositionBottomLeft][td][b]k_EPositionBottomLeft[/b][/td][td]2[/td][td]Bottom left corner.[/td][/tr] [tr=k_EPositionBottomRight][td][b]k_EPositionBottomRight[/b][/td][td]3[/td][td]Bottom right corner.…
[b]Example:[/b] [code=cpp]ScePadTriggerEffectParam param; memset( ¶m, 0, sizeof( param ) ); param.triggerMask = SCE_PAD_TRIGGER_EFFECT_TRIGGER_MASK_R2; param.command[SCE_PAD_TRIGGER_EFFECT_PARAM_INDEX_FOR_R2].mode = SCE_PAD_TRIGGER_EFFECT_MODE_VIBRATION; param.command[SCE_PAD_TRIGGER_EFFECT_PARAM_INDEX_FOR_R2].commandData.vibrationParam.position = 5; param.command[SCE_PAD_TRIGGER_EFFECT_PARAM_INDEX_FOR_R2].commandData.vibrationParam.amplitude = 5; param.command[SCE_PAD_TRIGGER_EFFECT_PARAM_INDEX_FOR_R2].commandData.vibrationParam.frequency = 8; SteamInput()->SetDualSenseTriggerEffect( controller1Handle, ¶m );[/code] [subsection=SetLEDColor]SetLEDColor[/subsection] [code=cpp]void SetLEDColor( InputHandle_t inputHandle, uint8 nColorR, uint8 nColorG, uint8 nColorB, unsigned int nFlags );[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]inputHandle[/b][/td][td][apitype]ISteamInput::InputHandle_t[/apitype][/td][td]The handle of the controller to affect.…
Positional acceleration is reported as an interpolated value between INT16_MIN and INT16_MAX where the extents are clamped to ±2G (1G = 9.80665 m/s[sup]2[/sup]). Angular velocity is reported as an interpolated value between INT16_MIN and INT16_MAX where the extents are clamped to ±2000 degrees per second. …
[section]Store Capsule Templates[/section] [table] [tr][td][b]Templates[/b][/td] [td] [url=https://www.dropbox.com/scl/fo/cvkwbosmrimklcl9h0qko/AF5IPErKP-mQM_3YO1Dw2lA?rlkey=b3ad0izykq367g4luasrinw9z&dl=0]Download templates[/url] for sizing and text placements on store page assets. …
[/color] [b]Usage:[/b] Screenshots are displayed on your store page, and on other pages where your game may be featured such as the Steam homepage. You must provide at least 5 screenshots of your product. [b]Design:[/b] [list][*]Formatting - For best results, please provide screenshots in high-res, widescreen format. …
[subsection]Mouse[/subsection] Available bindings include left, middle, and right mouse buttons, mousewheel up, mousewheel down, and two auxiliary mouse buttons (4 and 5). [subsection]Keyboard[/subsection] Available bindings are all the keys on a standard keyboard. Note that the inputs here are sent by scancode, so although the display here is a standard USA English keyboard, the input that is actually sent depends on your system language/keyboard layout. …
[section]Special inputs[/section] In addition to emulating mouse, keyboard, and gamepad input, there are also a row of special bindings at the top: [docimg=legacy_mode_2.png]legacy_mode_2.png[/docimg] [subsection]Change Action Set/Layer[/subsection] [docimg=legacy_action_set.png]legacy_action_set.png[/docimg] This lets you activate Action Sets or [doclink=features/steam_controller/action_set_layers][/doclink] that you have defined yourself. …
However, the maximum number of Release State Override (beta) keys you can request for this purpose is generally 2,500 total. [u]You should not promise more than 2,500 [b]Release State Override (beta) keys[/b] for your game during your crowdfunding campaign[/u]. …
Release State Override (beta) keys are generally limited to 2,500 total. [list][*]If you’d like to run a larger-scale beta test ahead of your game’s launch, please use the Steam Playtest feature. …
[docimg=steamworks_settings.png]steamworks_settings.png[/docimg] [section]Step 2 - Set Supported Operating Systems[/section] Navigate to the [b]Application > General[/b] tab for your app, and check [b]Android [/b] under [b]Supported Operating Systems[/b]. …
[docimg=android_launch_options.png]android_launch_options.png[/docimg] [section]Step 5 - Steam Cloud[/section] Navigate to the [b]Application > Steam Cloud[/b] tab for your app, and follow [doclink=features/cloud]these instructions[/doclink] for setting quota, etc. …