If you are running under the debugger and stop the process, the clock might not advance the full wall clock time that has elapsed between calls. If the process is not blocked from normal operation, the timestamp values will track wall clock time, even if you don't call the function frequently. …
Attached accessories will be visible in the Inventory view on the community, and will create "Unique" (non-commodity) item listings when they are offered on the Steam Community Market. It's up to you to decide what accessory types to support, and what cosmetic or gameplay effects different accessory types might have. You may also choose to support different types of accessories on different item types in your game. …
Adding two instances of the same accessory to an item is not currently supported. Attempting to do so will fail in the ExchangeItems call and will not consume the accessory item.…
The user will then be asked to select a language from a dropdown listing each supported language. These localized configuration files can override any value defined in [code-inline]setup.ini[/code-inline], and also define the strings shown to a user for each language. If you do not support a language for which the SDK supplies a localized ini file, simply delete the ini file. If you need to support a language that is currently not supported by Steam, please let us know in the [url=steamcommunity.com/groups/steamworks/discussions]Steamworks Development Discussions[/url] [subsection=setup_graphics]Graphics and Sound Effects[/subsection] The following files can be replaced to customize the setup application and Steam installation for your game: [olist] [*] [code-inline]splash.tga[/code-inline] - Image displayed by Steam while installing files from disk (392x165 pixels) [*] [code-inline]icon.ico[/code-inline] - Icon used in [code-inline]autorun.inf[/code-inline] as the icon for your installation disk [*] [code-inline]resources\setup.bmp[/code-inline] and [code-inline]resources\setup_<language>.bmp[/code-inline] - Image used for the background of setup.exe (640x480 pixels). …
Steam does not currently report conversions for playtest apps. [h4]Q. Does Steam support UTM reporting for other community and store pages such as developer homepages or bundles?[/h4] A. At this time only app and sale pages are supported. …
Customers who decide to stop at the age gate are still recorded as having clicked the UTM link. [h4]Q. What devices are supported?[/h4] A. Any device with a modern browser capable of showing the Steam store is supported. This includes mobile devices and tablets. …
The URI format of each API request is: [code]https://api.steampowered.com/<interface>/<method>/v<version>/[/code] Most methods support a list of required and optional parameters. Depending on the method, these parameters must be passed in as GET or POST params in the request. …
The "key" and "format" fields should still be passed as separate parameters, as before. POST requests are supported as well. You can identify if a WebAPI is a "Service" by the name of the interface; if it ends in "Service" like [webapi]IPlayerService[/webapi], then it supports this additional method of passing parameter data. …
[section]Foveated Rendering[/section] Steam Frame supports the Foveated Rendering functionality in Godot via the [url=https://godotvr.github.io/godot_openxr_vendors/]OpenXR Vendors Plugin[/url] (or releases [url=https://github.com/GodotVR/godot_openxr_vendors/releases]here[/url]). [callout]Version 4.2.x is needed for vendor extension support including foveated rendering. 4.2.3 is the minimum version with Linux Arm64 support. 5.x or newer recommended.[/callout] [section]Steamworks[/section] [url=https://codeberg.org/godotsteam/godotsteam/releases]GodotSteam 4.17[/url] and later have the Android ARM64 and Linux ARM64 libraries and should work with Steam Frame. …
[section]Overview[/section] Steam and Steamworks provide robust support for Virtual Reality experiences via SteamVR. This section provides information about how to develop SteamVR applications and additional requirements for distributing them on Steam. …
[/td] [/tr] [tr][td][doclink=features/steamvr/openvr][/doclink][/td] [td]Overview of OpenVR, engine support and driver creation.[/td] [/tr] [/table] [section]Additional Help[/section] Need development help? Want to learn more about how to get a VR devkit? …
Steam no longer supports Google Analytics. On July 1 2023, Google replaced their third-party traffic reporting system (Universal Analytics) with their own, called Google Analytics 4 (GA4). Over time, we've come to realize that Google's tracking solutions don't align well with our approach to customer privacy, and the migration to GA4 felt like the right time to end our support and focus instead on building the most useful parts of aggregated reporting into Steam itself. We've introduced new Steamworks tools to help you understand your store traffic while continuing to protect player privacy. …
[i]Requirements: OpenXR[/i] [*][b]Valve Utils: Settings for Unity's Foveated Rendering[/b] - This provides access to the Unity feature for Foveated Rendering. It supports eye-tracking and allows a greater range of Unity and OpenXR versions than are supported by the official plugin. [url=https://docs.unity3d.com/6000.2/Documentation/Manual/xr-foveated-rendering.html]Unity documentation[/url] [i]Requirements: Unity 2022.3+, Unity OpenXR Plugin v1.9.1+, URP, Vulkan[/i] [*][b]Valve Utils: Settings for Unity's Multiview Render Regions[/b] - This provides access to the Unity feature for Multiview Render Regions. …
Example file path: C:\Program Files\Unity\Hub\Editor\2022.3.13f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platform-tools\adb.exe[/callout] [section=Steamworks]Steamworks .NET[/section] The main branch of https://github.com/rlabrecque/Steamworks.NET includes Android support, but is not in a release yet. For now you can you can add the package to Unity via the git url: https://github.com/rlabrecque/Steamworks.NET.git?…
The required permissions are listed below with each API call. Note that if you are not planning on supporting cross-platform Cloud sync or Workshop support, we will not provide you with a Client ID. [*]The token lifetime. [*]The redirect URI to send the user back to after completing authentication/authorization. …
If you include the state parameter, it will be passed back to the redirect URI after the user has confirmed or denied access. Note that the authorization code grant type is also supported, by using the response_type=code during login. If the user grants access, they will be redirected back to you at [code]http://redirect/uri/here#access_token=token_here&token_type=steam&state=whatever_you_want[/code] The token should be treated as an opaque string. …
However, ISteamUGC provides two methods for programmatically subscribing and unsubscribing to workshop items to support in-game item subscription management. [list] [*] [api]ISteamUGC::SubscribeItem[/api] - Subscribe to a workshop item. It will be downloaded and installed as soon as possible. [*] [api]ISteamUGC::UnsubscribeItem[/api] - Unsubscribe from a workshop item. …
This is useful for when you don't need all the information (e.g. you just want to get the IDs of the items a user has in their favorites list.) [*] [api]ISteamUGC::SetReturnKeyValueTags[/api] - Sets whether to return any key-value tags for the items on a pending UGC Query. [*] [api]ISteamUGC::SetReturnLongDescription[/api] - Sets whether to return the full description for the items on a pending UGC Query. [*] [api]ISteamUGC::SetReturnMetadata[/api] - Sets whether to return the developer specified metadata for the items on a pending UGC Query. [*] [api]ISteamUGC::SetReturnChildren[/api] - Sets whether to return the IDs of the child items of the items on a pending UGC Query. [*] [api]ISteamUGC::SetReturnAdditionalPreviews[/api] - Sets whether to return any additional images/videos attached to the items on a pending UGC Query. [*] [api]ISteamUGC::SetReturnTotalOnly[/api] - Sets whether to only return the total number of matching items on a pending UGC Query. -- The actual items will not be returned when [api]ISteamUGC::SteamUGCQueryCompleted_t[/api] is called. [*] [api]ISteamUGC::SetLanguage[/api] - Sets the language to return the title and description in for the items on a pending UGC Query. [*] [api]ISteamUGC::SetAllowCachedResponse[/api] - Sets whether results to be will be returned from the cache for the specific period of time on a pending UGC Query. …
Supporting as many languages, currencies and payment methods as possible enables Steam to provide the best experience possible to customers around the world. This guide explains how languages are supported across Steam.[/td][/tr] [tr][td][doclink=store/page/accolades][/doclink][/td][td]Accolades include reviews and awards that your game has received. …
We may do this again in the future under exceptional circumstances, but because of the associated support burden and risk of leaks, our default answer is to develop based on the SDK. [*] [h4]Q: Can I sell my mod on Steam / outside of Steam? …
[/b] The best way to contact us with questions about shipping your mod is by filing a support ticket on https://help.steampowered.com. [/list] [section=TF2FAQ]Team Fortress 2 Mods FAQ[/section] [list] [*] [h4]Q. Where do I get the TF2 SDK?…
[/callout] [subsection]Under "Basic Info" Tab[/subsection] [list][*]Accessibility support on Steam - Helping players find games that feature accessibility support - [url=https://store.steampowered.com/news/group/4145017/view/536595840131663918]More Info[/url] [*] Controller Support for your game - Describe the devices supported by your game - [url=https://store.steampowered.com/news/group/4145017/view/3684558162504860650]More Info[/url] [*] Expanded Social Media Links - More ways for players to find their way to your social media platforms - [url=https://steamcommunity.com/groups/steamworks/announcements/detail/4592070813172257798 ]More Info[/url] [*] Anti-Cheat Declaration - Share anti-cheat information about your game - [url=https://store.steampowered.com/news/group/4145017/view/4547038620960934856]More Info[/url] [/list] [subsection]Under "Description" Tab[/subsection] [list][*]New Visual Editor - See exactly how your game description will look as you work, with a real-time preview of your text, images, and other formatting. - [url=https://steamcommunity.com/groups/steamworks/announcements/detail/7126472323852954169?…
Select the "Custom Configuration" option in the dropdown. (If you were not planning on adding native support and just want to select from common legacy mode presets, here is where you would do so). [docimg=steamworks_steam_input_custom_config.png]steamworks_steam_input_custom_config.png[/docimg] And from the selection below, select "Add Custom Configuration.…
[subsection]Opting Controllers into Steam Input[/subsection] Next, you should set up what kind of controllers use Steam Input - if you are using Steam Input API you'll want to make sure to check the "Any Future Devices" option to make sure new controllers work by default without you having to adjust settings after support ships in Steam. [docimg=steamworks_steam_input_optin_settings.png]steamworks_steam_input_optin_settings.png[/docimg] Checking these boxes will cause those controller types to make use of Steam Input rather than their standard gamepad input protocols. …
From time to time, Steam will add new currency support to the Steam wallet. This will affect both Pay for Purchase titles on the Steam store and In-Game sales made through the [doclink=features/microtransactions]In-Game Purchasing/Microtransaction[/doclink] APIs. …
The currency you specify for the sale must be one of the currencies supported by Steam and should match the price that you display to the user within your in-game store. Steam will present the converted price to the user, in their local currency for approval. …
Requires the method such as GET or POST and the absolute URL for the request. Both http and https are supported, so this string must start with "http://" or "https://" and should look like "http://store.steampowered.com/app/10/" or similar. …
[/td][/tr] [/table] Set a request header value for the HTTP request. Must be called before sending the request. A full list of standard request fields are available here on [url=https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#Request_fields]wikipedia[/url]. …
(The boundaries between the messages are maintained by the API.) [*] Both reliable and unreliable messages are supported. [*] Large messages are split into multiple packets, small messages are combined into fewer packets. [*] A robust ACK / reassembly / retransmission strategy. [*] Strong encryption and authentication. …
Eavesdropping / tampering requires hacking into the VAC-secured process. Impersonation requires access to the target's computer. [*] Supports relayed connections through the Valve network. This prevents IP addresses from being revealed, protecting your players and gameservers from attack. [*] Also supports standard connectivity over plain UDP using IPv4 or IPv6. …
You also have the ability to write a custom warning reason, but these of course will not support translations. We feel that in most cases, giving players the benefit of the doubt and issuing a warning is the correct first response to players breaking the [url=https://support.steampowered.com/kb_article.php?…
[/section] If you couldn't find specific information in this article, or just have general questions about moderation, please submit a ticket to our Steamworks Support team: [url=https://help.steampowered.com/en/wizard/HelpWithPublishing?issueid=929]Contact Steamworks Support[/url] [subsection]Requesting Additional Support[/subsection] There may also be times when a large number of players use your community hub to voice concerns and negative feedback. …
"Legacy mode" bindings are always available for any game. Even games that support native Steam Input actions still allow the player to mix in legacy mode bindings in the configurator. Through legacy mode, you can rebind any input on your controller to any emulated system input -- mouse, keyboard, or gamepad (ie, XInput events). …
[/callout] [subsection]Toggle Magnifier[/subsection] [docimg=legacy_magnification.png]legacy_magnification.png[/docimg] This toggles the operating system's magnification tool, zooming in on the current mouse position. Currently the only operating systems that support the magnifier are Windows and Steam OS. [subsection]Power/System Options[/subsection] [docimg=legacy_power.png]legacy_power.png[/docimg] This lets you issue various system commands. …