[section]Pair your Steam Frame[/section] First, make sure you have Developer Mode on in [b]Settings > System > Developer Mode[/b]. Then go to [b]Settings > Developer > Pair new host[/b]. [docimg=steamframe-pairhost.png]steamframe-pairhost.png[/docimg] Then you can launch the SteamOS Devkit Client on your PC. …
[subsection]Command-line arguments and environment variables[/subsection] You can set command-line options under the game's [b]Properties [/b]in Steam like you would for any other application. The text in this field gets appended to the launch command (i.e. …
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. …
You can easily paste in your bullet list of notes, switch to the 'publish' tab and hit publish. On top of that, there are various optional settings if you want to provide more information or include images of things that have changed, but are not needed in order to post your patch notes. …
Patch notes following your build updates is helpful for your customers to realize you are continuing work on and improve your game. [docimg=41b67b4a94e6487c5e07c6085dbb9d63d8d9e166.jpg]41b67b4a94e6487c5e07c6085dbb9d63d8d9e166.jpg[/docimg] You can always use the regular event editor to post the patch notes at a later time. …
[/list] [*]For consistency during development, you may also want to change the default Windows API to [b]Vulkan [/b]as well. [*]Change the default anti-aliasing method for mobile to [b]MSAA[/b] in [b]Project Settings > Engine - Rendering[/b], and set [b]MSAA sample count[/b] (Default Settings) to [b]4x MSAA[/b]. [*]Under the [b]Edit > Plugins[/b] menu, locate the [b]Steam Frame OpenXR Extension[/b] in the list, and enable it. [*](Optional, but recommended) Disable the [b]Android File Server[/b], which will speed up deployment and development times [/list] Depending on the needs of your project, other features can be disabled to save rendering performance, such as disabling Custom Depth if not needed. …
LinuxArm64 should now appear as a platform choice under the [b]Platforms[/b] button. [subsection]Project Settings[/subsection] In addition to the project settings in the previous section of the documentation, it is also recommended that you change the [b]Targeted RHI[/b] setting in your Project Settings under [b]Platforms - Linux[/b] to [b]Vulkan Mobile (ES3.1)[/b] and disable [b]Vulkan Desktop (SM5)[/b]. …
[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. …
Only PS4 Controllers support colored light options. [list] [*] [b]Default User Setting[/b] No change to how the light functions [*] [b]Default XInput Slot Number Setting[/b] Slots 1-4 are colored red, blue, green, and purple, respectively. [*] [b]Custom Setting[/b] [list] [*][b]Controller Light Color[/b] Change the color of the light [*][b]Controller Light Saturation[/b] Change the intensity of the light [/list] [/list] [subsection]Music[/subsection] [docimg=legacy_music.png]legacy_music.png[/docimg] This lets you control music playback from your Steam music player. …
Issues like the sticky B button some developers have reported have been addressed and won't be an issue for customers. [b]Can we use a VM for Steam Deck development?[/b] We don't recommend it unless you're just testing UI - you won't be able to test GPU performance with a VM. …
[/b] You'll see the overall categorization, as well as which compat passed or failed (most of which customers will also see), and you'll also see an additional developer-only field for notes / clarification from testers where relevant. …
[/b][/callout] [section]Project Setup[/section] [list] [*][b]Enable OpenXR[/b] - (Project / Project settings / XR / OpenXR) and enable stereo shaders (Project / Project settings / XR / Shaders) [*][b]OpenXR Vendors Plugin[/b] - Optionally install the [url=https://godotengine.org/asset-library/asset/3768]Godot OpenXR vendors plugin[/url] from the AssetLib tab. …
If you’re using a stable release, you will be prompted to install the templates. If you’re using a custom build, use the select file option to select the android template zip file. For more info: https://docs.godotengine.org/en/stable/tutorials/xr/deploying_to_android.html [/list] [subsection]Linux Arm64:[/subsection] [list] [*][b]Add a Linux Export Profile[/b] (Use the Add... button) [*][b]Rename the profile[/b] to Steam Frame Arm64 [*][b]Set the Architecture[/b] to arm64 [/list] [/list] [section]Eye Tracking[/section] Steam Frame supports Eye Tracking in Godot using the Eye Gaze Interaction extension. …
As part of the release process on Steam, you will be required to deliver various graphical assets for your product. These assets are displayed in customer's libraries and in the community. [section]Store Capsule Rules[/section] [b][color=#ca5029]IMPORTANT NOTE:[/color][/b] Please see [doclink=store/assets/rules]Graphical Asset Rules[/doclink] for important rules on what can and cannot be included in your graphical asset capsules. …
[docimg=cs2libheader.jpg]cs2libheader.jpg[/docimg] [b]Usage:[/b] Appears in various places in the Steam Client Library, including Recent Games. If not set, then the Store Asset Header Capsule is used. [b]Design:[/b] This image should focus on the branding of your product. For best results, please use similar artwork to the Library Capsule or Store Asset Header Capsule and make sure the logo is clearly legible. …
Choose 'Custom Streaming Server' from the Stream type drop-down. This is where you enter the [b]upload server[/b] and [b]upload token[/b] that is found on the [url=https://steamcommunity.com/broadcast/upload]broadcast upload settings page[/url]. …
Make sure to specify [b]keyframe interval[/b] parameter to 2, as that is a critical requirement for uploading streaming content to Steam. The other settings defaults will be fine. More details on Steam's requirement for those other setting can be found [url=https://partner.steamgames.com/doc/store/broadcast/setting_up#encoding]here[/url]. …
Once you are on the Regions and Countries page, you can click the little plus symbol next to a region to expand and see further details including the number of wishlists from customers in that region. [subsection]Platform Breakdown[/subsection] You'll notice a section labeled 'Platform-specific wishlisting' on the right-hand side of your Wishlist reporting. This indicates the platform that players have explicitly set in their Steam preferences. This will almost always be a subset of total wishlists, as not every player has selected a specific platform. …
[/td][/tr] [tr][td]7 days after[/td][td]Next Fest ends, and the Next Fest recap with the top demos goes live.[/td][/tr] [/table] [subsection=demo]Setting Up Your Demo[/subsection] After registration, you'll need to set up your demo on Steam. This means setting up a demo type app, which is attached to your base game on Steam. …
Ensure that: [list] [*]The store page for your game is published and visible to customers. [*]The game you're attempting to register has not been in a previous Next Fest. [*]The release date of your game is not set to a date before the start of Next Fest. …
See ESteamNetworkingConfigValue for individual descriptions. [subsection=SetConfigValue]SetConfigValue[/subsection] [code=cpp]bool SetConfigValue( ESteamNetworkingConfigValue eValue, ESteamNetworkingConfigScope eScopeType, intptr_t scopeObj, ESteamNetworkingConfigDataType eDataType, const void *pArg );[/code] Set a configuration value. …
Or at global scope, passing NULL will reset any custom value and restore it to the system default. NOTE: When setting pointers (e.g. callback functions), do not pass the function pointer directly. …
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. …
To add alt text, navigate to your store page editor, select the 'Description' tab and click the blue button right above the 'Upload Custom Image' section. Alt text will also export/import along with your other store page text on the 'Localization' tab. [section=error]Asset Error[/section] We currently support the following file types for extra assets: PNG, JPG, GIF, WEBP, MP4, and WEBM. …
The Steam Inventory Service is a set of features that allow a game to enable persistent player inventories without having to run special servers to manage users or items. …
These describe the possible set of items in your game. You don't need to use these from your game itself but Steam needs them to display inventory correctly. To create ItemDefs, go to the Steam Inventory section of your Steamworks configuration area. …
[b]NOTE:[/b] Don't check the boxes under [b]Supported Operating Systems[/b] on the General Application Settings tab yet, that will be done when you're ready to release. [*] Create a Steam build for these new depots. [*] Set that build to a beta branch with a password. [*] Update your autogrant package to contain these new depots so Steam will let you download the files. …
Preview your store page and then publish your changes when you're happy with how the system requirements appear. [*] Finally, return to your Steamworks Settings page and move the build to the Default branch. (Under the SteamPipe tab > Depots) [*] Head over to the Steam Community Hub for your application and post an announcement to let existing and prospective customers know you've updated! …
[/list] [section=audio_recommendations]Audio[/section] [subsection=volume_controls]Custom Volume Controls[/subsection] [h4]Why is this tag important to players?[/h4] Players may need to reduce distracting sounds so that they can focus on sounds that they need to hear. …
Providing options for background opacity, text color and size can allow players to customize the subtitles for their comfort. Players can look for this tag to know that they can enable clear, readable subtitles for all dialog. …
v=RHC-uGDbu7s [olist] [*] [h4]Use your in-game economy to improve your product and make customers happier, not as a means to extract revenue from unhappy customers.[/h4] Artificial barriers to progress and virtual currencies that obfuscate value tend to make customers regret their purchases over the long term. If you’re viewing in-game transactions as an opportunity to halt your customer’s enjoyment to ask for money, they’ll be inclined to abandon the product over time. Paying money to eliminate frustration is not a sustainable business model, and the marketplace is competitive enough that customers have lots of better alternatives for their time and money. [*] [h4]Build systems wherein customer purchases make your game better for other customers.…
You will need to get a list of unsold keys from each of your retailers and ban them using the [url=https://partner.steamgames.com/partnerbatchbancdkeys/]Ban CD Key Tool[/url] [*][b]Communicate the change to your customers[/b] - It’s important to explain the situation to your customers. Don’t make promises you can’t keep, but do let your users know what to expect, especially if your game relies on hosted servers that customers will no longer be able to access. [/olist] [section]Frequently Asked Questions[/section] [b]Q: What about Free to Play games?[/b] A: Treating customers fairly is the most important thing to us, so we ask that you give your customers at least 90 days notice before retiring a Free to Play game. …
If you need the overlay enabled, you can do so by: [list] [*]Making sure your Steam account has the Edit App Metadata permission [*]Navigate from the App's landing page to > Edit Steamworks Settings > Installation tab > General Installation [*]Check box for Enable Steam Overlay for Application [*]Publish [/list] [/callout] [section=activating]Activating the overlay from your app[/section] There are a set of functions in the Steamworks API that give you direct access to triggering the game overlay. …
It needs to be a full url, e.g. http://www.steamgames.com/. [*] [api]ISteamFriends::ActivateGameOverlayToStore[/api] This function can open the game overlay to the buy DLC for the current game (see [doclink=store/application/dlc][/doclink] for more info) [*] [api]ISteamUtils::SetOverlayNotificationPosition[/api] Sets which corner of the screen you want notifications ('toasts') to appear. Default is the bottom-right corner of the screen. [*] [api]ISteamUtils::IsOverlayEnabled[/api] Returns true if the overlay is running & the user can access it. …
Steam automatically outputs a number of debug to the [code-inline]logs[/code-inline] folder, for others you may need to use [doclink=#command_line_parameters][/doclink] or [doclink=#console_commands][/doclink] to enable them. Using [api]ISteamUtils::SetWarningMessageHook[/api] allows a Steamworks application to register a function that allows the Steamworks API to provide human-readable error messages to the application when something goes wrong. …
[list] [*] [b]find <string>[/b] - Lets you find other useful commands [*] [b]set_spew_level[/b] - Enables you to set a higher level of output in the steam console as well as log files. ex: "set_spew_level 4 4" - provides the most verbose logging and is very useful for troubleshooting problems [*] [b]app_info_print <AppID>[/b] - Displays all of the information the Steam servers provide about the game. [*] [b]enable/disable_license <PackageID>[/b] - This allows testing of app ownership, typically DLC. [*] [b]testappcloudpaths <AppID>[/b] - Allows testing of auto-cloud configuration before enabling auto-cloud for all customers. …