[section]Overview[/section] Developers must supply an in-game actions (IGA) file that defines the actions, action sets, and basic structure of their game's input configuration. This article describes the overall structure of this file and provides several concrete examples from various games. …
[/list] [subsection]Authoring an In-Game Actions File by hand [/subsection] Start by downloading the starting one of the in-game actions (IGA) files linked in the examples above. …
Common usage of this would be to share user created mods. [*] [apitype]ISteamRemoteStorage::k_EWorkshopFileTypeMicrotransaction[/apitype] - This file type is used to describe files that are uploaded by users, but intended only for the game to consider adding as official content. …
[/list] [/olist] Note: Using the "Verify Integrity of Game Files" feature in the Steam Client will also cause workshop items to be downloaded. As the game will start before newly subscribed content is downloaded and installed, the remaining consumption methods exist to aid in monitoring and managing the install progress. …
[/td][/tr] [tr=k_PFI_MatchingFileType_WebGuides][td][b]k_PFI_MatchingFileType_WebGuides[/b][/td][td]11[/td][td]Steam web guide.[/td][/tr] [tr=k_PFI_MatchingFileType_IntegratedGuides][td][b]k_PFI_MatchingFileType_IntegratedGuides[/b][/td][td]12[/td][td]Application integrated guide.…
[/td][/tr] [tr=k_PFI_MatchingFileType_WorkshopShowcase][td][b]k_PFI_MatchingFileType_WorkshopShowcase[/b][/td][td]19[/td][td][/td][/tr] [tr=k_PFI_MatchingFileType_GameManagedItems][td][b]k_PFI_MatchingFileType_GameManagedItems[/b][/td][td]20[/td][td]Managed completely by the game, not the user, and not shown on the web.…
Here are some example templates for [doclink=features/steam_controller/iga_file]IGA files[/doclink] that you can use as starting points for your games. None of these are for any specific game, and your game might have specific needs not covered by any of them, so feel free to experiment. …
The game features a modal battle system that mostly uses the same basic menu-driven actions (up/down/left/right/select/cancel), but has some special commands like toggling a special power between targetting an individual and a group of enemies, skipping a character's turn, and pausing the game. …
[/b] No, that doesn't make much sense to us. It's a PC and it should just play games like a PC. [b]When a developer submits a game for Deck Verified review, how long will it take to get the results?[/b] We're aiming for results within a week of submission. …
[b]Will my Steam Deck Verified category show on store pages when browsing from a PC or non-Deck device?[/b] If you have a Steam Deck, you'll see a title's Deck Verified category on its game detail page. …
You can learn more about how to complete this integration in the [doclink=features/microtransactions/implementation][/doclink]. You can use the Steam Wallet to purchase individual items or to purchase your in-game currency. …
For more information on account linking, please see the "Account Linking" section in the [doclink=features/auth][/doclink] documentation. [section]Considerations for in-game economies and best practices[/section] Steamworks provides a variety of opportunities to integrate microtransactions and in-game economies. …
Individual instances of your game can choose at run-time whether or not they are secure or insecure. It's up to your game to choose the policy on this, but typically games default to being secure with an option to let the user start the game as insecure. This separates the cheaters from the rest of your community while still letting them play the game. [section]Integration[/section] Cheat detection is performed by you or your agents and reported via the ICheatReportingService. …
If you cannot find the Linux module in the status dashboards, please contact EAC support. [*]Once that's done, download the EAC SDK and find the Linux library ([i]\Client\Assets\Plugins\x86_64\libeasyanticheat.so[/i]) for the SDK version integrated with your game, rename it to [i]easyanticheat_x64.so[/i], and add it to your depot next to the Windows library ([i]EasyAntiCheat_x64.dll[/i]). [*]Lastly, on the Steamworks site, publish a new build of your game containing the new depot contents. (You don't have to make any changes to the game executable, just include the new files in the depot contents.) [/olist] [*][subsection]BattlEye[/subsection] Proton supports BattlEye and BattlEye-enabled games. …
Full games/applications and DLC packages may both have install scripts. If you [doclink=#build]integrate your install scripts into your build[/doclink], you may have any number of install scripts. …
You can see this in the generated [code-inline]manifest.txt[/code-inline] file as a [code-inline]100[/code-inline] in the [code-inline]Flags[/code-inline] field. [/list] When a Steam user is starting a game, Steam will scan all of the mounted depots for that game for any file with the install script flag and run them. …
[/td][/tr] [tr][td][doclink=features/cloud][/doclink][/td][td]The Steam Cloud provides an easy and transparent remote file storage system for your game. Files specified in the Auto-Cloud configuration or written to disk (created, modified, deleted, etc.) using the Cloud API will automatically be replicated to the Steam servers after the game exits.…
[/td][/tr] [tr][td][doclink=features/drm][/doclink][/td][td]The Steam DRM wrapper is an important part of Steam platform because it verifies game ownership and ensures that Steamworks features work properly by launching Steam before launching the game.[/td][/tr] [tr][td][doclink=features/error_reporting][/doclink][/td][td]If Steam error reporting is implemented then Steam will automatically upload mini dumps of any exception after 10 similar exceptions are thrown.…
Once owned, downloadable content is treated as an integral part of the game. Steam automatically updates the content when a patch is available and installs the content when the user installs the game. …
When downloaded, the Steam client will store all downloadable content under your game's Steam directory. Your game can choose to distribute each piece of content in one of two ways: [list] [*]The content can be included with your game files that are distributed to all game owners. …
[section=Overview]Overview[/section] Steam Game Notifications is a system for delivering offline notifications to users for games that provide asynchronous multiplayer gaming, such as Chess. …
You can do this one of two ways: a client game can generate an authentication session ticket and pass it back to your server, or a web based game can verify the user by using OpenID. …
Steam Frame is a standalone virtual reality headset designed primarily for low-latency streaming of player's Steam Library from a PC, while also supporting standalone experiences for both VR and Non-VR. The headset integrates high-resolution displays, inside-out tracking, integrated audio, and full gamepad input into a self-contained system running SteamOS. …
[section]Quick links:[/section] [list] [*][doclink=steamhardware/steamframe/setup][/doclink] [*][doclink=steamhardware/steamframe/input][/doclink] [*][doclink=steamhardware/steamframe/loadgames][/doclink] [*][doclink=steamhardware/steamframe/compat]Steam Frame Standalone Verified[/doclink] [*][doclink=steamhardware/steamframe/apk_upload][/doclink] [*][doclink=steamhardware/steamframe/compatibility][/doclink] [*][doclink=steamhardware/steamframe/engines][/doclink] [*][doclink=steamhardware/steamframe/adb_lepton][/doclink] [*][doclink=steamhardware/steamframe/debugging][/doclink] [*][doclink=steamhardware/steamframe/vrpreferences][/doclink] [/list] To learn more about the features and technical specifications of Steam Frame, please visit the [url=https://store.steampowered.com/sale/steamframe]Steam Frame product page[/url].…
Steam automatically creates a special landing page for any game that is marked as Steam Deck Verified. This page displays the first trailer available on the game's store page, based on any language or country restrictions set for the trailers. [docimg=Example_1.png]Example_1.png[/docimg] [subsection]See your game's page[/subsection] By adding the appID to the end of a URL, you can easily view and share this page for any of your games that are Steam Deck Verified. …
appid=[your app id] [/code] The Linux command writes out a .vdf file to /tmp Copy both the configuration and your existing IGA file into the desired location inside the game folder. [subsection]Step 4 - Convert the IGA file to Action Manifest file[/subsection] To convert your IGA file to an Action Manifest edit the file and add a "configuration" section including a listing for the controller configuration you just exported. …
Next set the dropdown to "Custom Configuration (Bundled with game)" and enter the path where the action manifest is located: [docimg=gamebundledconfigdropdown.PNG]gamebundledconfigdropdown.PNG[/docimg] [section]Debugging a game that uses an Action Manifest File[/section] When running the game through Steam the Action Manifest file will automatically be pulled from your game depots. …
Typically this means your game will need to check for files to load. If you are building a new implementation, we suggest that your game client first check for the Steam user's list of subscribed files and then load the corresponding folders. …
For example, Team Fortress 2 started with just a submission form that asked the item author to pick a .zip file and preview image. But as we iterated on the process, we added a test environment and validation to make sure that the file that was submitted to the Workshop would be easier to integrate into the game. …
When you are launching the game from the exe directly, outside of the Steam UI this file must be present and must contain a single line with the game's AppID (for your games, Valve will assign each an AppID, the example game's AppID is 480). When you ship your own game through Steam this file will not be needed as Steam will auto-detect your AppID when the game is launched. [*] [b]The application has failed to start because steam_api.dll was not found. …
[h4]Input[/h4] Most people don’t have a touch-screen monitor, so it’s important to consider how your input model changes and how you can make use of keyboard and mouse in a natural way. Game controllers are also often worth considering, and the [doclink=features/steam_controller]Steam Input API[/doclink] makes it easy for you to write a controller integration once that works for a huge variety of controllers. …
Where it makes sense, there are options on Steam to sell additional content as [doclink=store/application/dlc]DLC or expansions[/doclink] but the core game should be a full experience without requiring an additional purchase. [h4]User Generated Content[/h4] The PC brings some great opportunities for integrating user-generated content into the gameplay experience. …
[/list] [subsection]Game Features[/subsection] [list] [*][b]Clouded Saves[/b]: For games that allow saving, we recommend enabling automatic clouding of saved games: users should be able to save their game on a Deck or Steam Machine and resume on a different PC, and vice versa, without manually transferring files. This means that games should provide a form of cloud save via either Steam Cloud or an automatic third-party service such as a game- or publisher-specific account with server-side save files. …