All requests should be sent using HTTP 1.1 and use a secure TLS connection when possible. The Content-Type must be [code-inline]application/x-www-form-urlencoded[/code-inline] and the POST parameters must be in the body of the request in standard form urlencoding format. Text must be transmitted as UTF-8. …
[table] [tr] [td][b]Header Capsule[/b][/td] [td][color=#ca5029]Required[/color][/td] [td]920px x 430px Just your game logo and artwork [doclink=store/assets/standard#header_capsule]See details[/doclink][/td] [/tr] [tr] [td][b]Small Capsule[/b][/td] [td][color=#ca5029]Required[/color][/td] [td]462px x 174px Just your game logo and artwork [doclink=store/assets/standard#small_capsule]See details[/doclink][/td] [/tr] [tr] [td][b]Main Capsule[/b][/td] [td][color=#ca5029]Required[/color][/td] [td]1232px x 706px Just your game logo and artwork [doclink=store/assets/standard#main_capsule]See details[/doclink][/td] [/tr] [tr] [td][b]Vertical Capsule[/b][/td] [td][color=#ca5029]Required[/color][/td] [td]748px x 896px Just your game logo and artwork [doclink=store/assets/standard#hero_capsule]See details[/doclink][/td] [/tr] [tr] [td][b]Screenshots[/b][/td] [td][color=#ca5029]Required[/color][/td] [td]minimum of 1920px x 1080px or larger, 16:9 ratio. …
[table] [tr] [td][b]Event Cover[/b][/td] [td][color=#ca5029]Required[/color][/td] [td]800px x 450px Artwork and marketing copy for your event or announcement [doclink=store/assets/eventassets#cover]See details[/doclink][/td] [/tr] [tr] [td][b]Event Header[/b][/td] [td]Optional[/td] [td]1920px wide x 622px Event artwork and logo. …
utm_source=homepage&utm_campaign=summer_sale&utm_medium=web[/code] If that link was clicked by customers 20 times, the UTM Analytics report for App ID 480 would show 20 visits in the "Total Visits" column for that unique combination of utm_source, utm_campaign, and utm_medium. [docimg=clicks_conversions.png]clicks_conversions.png[/docimg] The report also shows 6 of the 20 visits were by customers signed in to Steam. Steamworks attributed 2 wishlist additions, and 1 purchase, to the 6 "Tracked Visits". …
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.)[/url] [section][b]Animated Mini-profile Backgrounds[/b][/section] [h4]Visible on hover in the friends list and across the Steam Community. Should be a looping and under 4MB.[/h4] [list] [*]640 x 570px .jpg (still) <350KB [*]640 x 570px .mp4 <4MB [*]640 x 570px .webm <4MB [/list] [img]https://steamcdn-a.akamaihd.net/steamcommunity/public/images/steamworks_docs/english/anim_miniBG_GIF.gif[/img] [url=https://store.steampowered.com/points/shop/c/backgrounds/cluster/2](Click here to see examples live in the Points Shop.)…
[h4]Submitting requests[/h4] All requests should be sent using HTTP 1.1 GET or POST using a TLS secure connection. The Content-Type should be "application/x-www-form-urlencoded" and the POST parameters should be in the body of the request in standard form urlencoding format. Text should be transmitted as UTF-8. …
If the Quantity value for this item is greater than one, this value is the total that will get charged (Amount = Quantity x item_cost). [*] Item Description - A text description for the item. This will be displayed to the user when they are prompted to authorize the transaction. …
[section]Setting Up: Linked App List[/section] If your sale contains more than about 20 games, you may want to use the Linked App List to define the full set of games to include on your page. Once you have done that, you can then use specific filter criteria within each "Apps and Bundles" section to display different sets of games. …
[b]Design:[/b] These are small, so for best results focus on making the [b][color=#ca5029]logo clearly legible.[/color] [/b] [b]Size:[/b] Please provide '462px x 174px' image. From that, two smaller sizes (120x45 and 184x69) capsules are automatically generated. [b]Requirements: [/b]Small Capsule should contain readable logo, even at smallest size. …
[section=main_capsule]Main Capsule [color=#ca5029]Required[/color][/section] [docimg=hla_capsule_616x353.jpg]hla_capsule_616x353.jpg[/docimg] [b]Usage:[/b] This image appears at the top of the Steam store home page in the Main Capsule carousel. …
v=<video id> youtu.be/<video id> [/code] For example, using the Video ID of 'UUn-ET4vv1s' we would see the following widget in your event. [docimg=2019-09-17_8-17-04.png]2019-09-17_8-17-04.png[/docimg] Note: With YouTube, we have a few additional formatting options via the [previewyoutube] tag accessible via the toolbar's import YouTube icon. …
[code] https://sketchfab.com/models/<model id> https://sketchfab.com/models/7b08add6fb40478a9bc465a8ef0d8ffb [/code] That would automatically generate a summary block about the 3D model in the event description. This summary includes the items name and authors name. …
The logo should be easily legible against the background. [b]Size:[/b] 600px x 900px (an additional half-size 300px x 450px PNG will be auto-generated from larger file) [section=header]Library Header [color=#ca5029]Required[/color][/section] The library header is used in different places within the Steam Client Library. …
For ex: a main character’s face should be entirely in the safe area or risk being cropped. [b]Size: [/b]3840px x 1240px (an additional half-size 1920px x 620px PNG will be auto-generated from larger file) [subsection=logo]Library Logo [color=#ca5029]Required[/color][/subsection] [docimg=Logo_example_1.png]Logo_example_1.png[/docimg] [b]Usage:[/b] Appears at the top of a user’s library details page for this product, placed on top of the hero graphic. …
This can help to correct for accidental movement while pulling the trigger.[/td][/tr] [tr][td]Minimum Joystick X Output Value[/td][td]0.0-1.0[/td][td]This value determines the minimum amount of output the joystick will send when swiping. Adjust this value upwards until slow movements don't stop or stutter, but provide clean movement. …
[/td][/tr] [tr][td]Menu Button 19[/td][td]Digital input/action[/td][td]You can bind actions to this on-screen button.[/td][/tr] [tr][td]Menu Button 20[/td][td]Digital input/action[/td][td]You can bind actions to this on-screen button.[/td][/tr] [/table] …
Images Required: [list][*][b]Type:[/b] Large Card Images [b]Format:[/b] 1920px x 1080px JPG, smaller than 350KB. [b]Description:[/b] These act as "zoomed in" versions of the smaller card image. They must be thematically similar to the small image. [*][b]Type:[/b] Small Card Images [b]Format:[/b] 206px x 184px PNG [b]Description:[/b] These act as a view into the large image and will have the card title and frame overlaid onto it automatically. [*][b]Type:[/b] Game Logo [b]Format:[/b] 206px x 44px transparent PNG, must be legible on both dark and light backgrounds. …
A user will randomly receive one of these emoticons when crafting a badge. Images required: [list][*]5 Emoticons at both 18x18 and 54x54, both transparent PNG[/list] [callout=blue]NOTE: The 18x18 version is the most commonly viewed so ensure that the emoticon is legible at this size. …
\pipe\HID#VID_045E&PID_028E&IG_00#045E&0B00&00045EB00704DAF3#0#20160 for an Xbox one controller with a VID/PID of 0x45e/0x0b00. Example code: [code] #define VALVE_DIRECTINPUT_GAMEPAD_VID 0x28DE #define VALVE_DIRECTINPUT_GAMEPAD_PID 0x11FF #define STEAM_INPUT_VID_INDEX 37 #define STEAM_INPUT_PID_INDEX 42 #define STEAM_INPUT_SIAPI_HANDLE_INDEX 47 #define STEAM_INPUT_GAMEPAD_INDEX 64 #define MAX_PATH 260 //... …
= (UINT)-1 ) { if ( rdi.hid.dwVendorId == VALVE_DIRECTINPUT_GAMEPAD_VID && rdi.hid.dwProductId == VALVE_DIRECTINPUT_GAMEPAD_PID ) { uint32 ulVID = strtoul( &devName[STEAM_INPUT_VID_INDEX], NULL, 16 ); uint32 ulPID = strtoul( &devName[STEAM_INPUT_PID_INDEX], NULL, 16 ); uint64 ulDeviceHandle = strtoull( &devName[STEAM_INPUT_SIAPI_HANDLE_INDEX], NULL, 16 ); uint32 unGamepadIndex = strtoul( &devName[STEAM_INPUT_GAMEPAD_INDEX], NULL, 16 ); Log( "Raw input device: VID = 0x%x, PID = 0x%x, handle = 0x%llx, index = 0x%x, %s\n", ulVID, ulPID, ulDeviceHandle, unGamepadIndex, devName ); // You can now use either the VID/PID to identify the device directly or use ulDeviceHandle with GetInputTypeForHandle ESteamInputType inputType = SteamInput()->GetInputTypeForHandle( ulDeviceHandle ); switch( inputType ) { case k_ESteamInputType_Unknown: printf( "unknown!…
Exchange recipes are evaluated atomically by the Inventory Service; if the supplied components do not match the recipe, or do not contain sufficient quantity, the exchange will fail. For example: [code]exchange: 101x1,102x1;103x5;104x3,105x3[/code] Will allow the item to be exchanged for either one #101 and one #102, five #103s or three #104s and three #105s. …
There is no reason to call this function if your game hardcodes the numeric definition IDs (eg, purple face mask = 20, blue weapon mod = 55) and does not allow for adding new item types without a client patch. [b]Returns:[/b] bool This call returns [b]true[/b] upon success. …
The hashtag for the event is #SteamNextFest. [url=https://www.dropbox.com/scl/fo/nhpf8p5hapsrxcm4hawda/AMFHnBhk8NmeGX42dmzSIic?rlkey=gd3mz04wf8ftmlwgcz7k0u105&st=ozzx3fcm&dl=0t]Steam Next Fest Asset Kit[/url] [section=faq]Frequently Asked Questions[/section] [b]Q. …
You can check out our past live Q&A sessions on YouTube [url=https://www.youtube.com/playlist?list=PLckFgM6dUP2iCWK3VkvB8YZI9b7HHCj8m]here[/url]. These sessions cover a wide variety of topics to help you prepare for getting the most out of Steam Next Fest. …
. [*] It may appear on the "New and Trending" section on the [url=https://store.steampowered.com/genre/Early%20Access/]Early Access[/url] page if the title is doing well. [*] It can appear on 'top sellers' list on the store home page and on relevant genre and tag pages if it has achieved sales rank. …
Customers who wishlist your game will receive an email notification when your game launches or transitions out of Early Access, or when your game is discounted at 20% or greater. [subsection]Store Page Traffic Doesn't Matter[/subsection] The traffic landing on your store page is [b]not a factor [/b]in your Steam store visibility. …
[subsection=SteamGameServer_Init]SteamGameServer_Init[/subsection] [code=cpp]inline bool SteamGameServer_Init( uint32 unIP, uint16 usSteamPort, uint16 usGamePort, uint16 usQueryPort, EServerMode eServerMode, const char *pchVersionString );[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]unIP[/b][/td][td]uint32[/td][td]The IP address you are going to bind to. (This should be in host order, i.e 127.0.0.1 == 0x7f000001). You can use INADDR_ANY to bind to all local IPv4 addresses.[/td][/tr] [tr][td][b]usSteamPort[/b][/td][td]uint16[/td][td]The local port used to communicate with the steam servers.…
[/td][/tr] [tr][td][b]pchVersionString[/b][/td][td]const char *[/td][td]The version string is usually in the form x.x.x.x, and is used by the master server to detect when the server is out of date. (Only servers with the latest version will be listed.)…
[/list] [subsection]Get Permission & Set Expectations[/subsection] [list] [*][b]7) Steam Approval is Required[/b] - Use of sale page tools and any on-Steam promotion are subject to approval by the Steam Events Team. [*][b]8) Secure Third-Party Approval & Manage Expectations [/b] - As always, Steam requires you respect the intellection property (IP) rights of others and secure appropriate permissions to include any games, assets, or IP in your event. …
Alignment with Steam’s Promo Calendar & Operational Needs[/subsection] Our promotional calendar fills up 6–10 weeks in advance, so if you're aiming for curated support, try to finalize your participants at least 4–8 weeks before your intended launch. Additional prep is required for featured events, including:[list] [*]Asset Delivery: We’ll need layered PSDs for use on the Store. …
[/td] [/tr] [tr] [td][b]Sale Page Logo[/b][/td] [td][color=tan]Recommended[/color][/td] [td]1200px wide x 460px (940px wide x 460px also acceptable) - Logo, tagline, and dates for your sale page. See template for sizing and clipping.[/td] [td]This image is positioned at the top of your page, layered on top of the Sale Page Background. …
If provided, this image will be layered on top of your background image at the top of your page. Must be 1200x460px with a transparent background. [subsection]Adding your games[/subsection] Games are organized on your page in one or more sections. …
For developers, Steam Next Fest is an opportunity to get early feedback from players and build an audience for a future launch on Steam. The February 2027 edition runs February 22 at 10:00 AM PST (UTC-8) to March 1 at 10:00 AM PST (UTC-8). [introblock=Announcements.gif] For general information about Steam Next Fest, including details on registration, preparing your demo, running a livestream, trailer and demo gameplay usage, the Press Preview event, game visibility, and frequently asked questions, please visit the [url=https://partner.steamgames.com/doc/marketing/upcoming_events/nextfest]Steam Next Fest[/url] parent documentation page. …
You can check out our past live Q&A sessions on YouTube [url=https://www.youtube.com/playlist?list=PLckFgM6dUP2iCWK3VkvB8YZI9b7HHCj8m]here[/url]. These sessions cover a wide variety of topics to help you prepare for getting the most out of Steam Next Fest. …
[callout]For 5.7 use https://github.com/Valve-VR/UnrealEngine/commit/17a2778f392d32813fb35183e72ce0467d183b8a 2025/01/22: Current recommendation is to [b]NOT[/b] use 5.7 due to regressions with MSAA and shadows in the forward renderer that are actively being worked on. …
[code] Failure [INSTALL_FAILED_OLDER_SDK: Failed parse during installPackageLI: /data/app/vmdl157345552.tmp/base.apk (at Binary XML file line #8): Requires newer sdk version #33 (current version is #30)] [/code] [i]Note: This message is very confusing! It indicates that the APK requires a newer SDK than the OS supports, and not the other way around.…