[docimg=action_set_layers_basic_1.png]action_set_layers_basic_1.png[/docimg] When the player selects a class, the appropriate layer is added, e.g. "sniper" [docimg=action_set_layers_sniper_2.png]action_set_layers_sniper_2.png[/docimg] The code for this might look something like: [code=cpp] void changeClass(EClassID myClass) { if(myClass == SNIPER) { SteamInput()->ActivateActionSetLayer( controllerHandle1, sniperLayerHandle ); } //logic for other classes } [/code] If the player enters or exits a vehicle, the controls for the vehicle layer are activated/deactivated on those state changes, adding or removing new controls for vehicle specific functions. …
[docimg=action_set_layers_scope.png]action_set_layers_scope.png[/docimg] [code=cpp] void useScope(bool entering) { if(entering) { SteamInput()->ActivateActionSetLayer( controllerHandle1, scopeHandle ); //apply the scoped-in layer when you scope in } else { SteamInput()->DeactivateActionSetLayer( controllerHandle1, scopeHandle ); //remove the scoped-in layer when you lower the scope } } [/code] Here's how all the layers combine. [docimg=action_set_layers_result_2.png]action_set_layers_result_2.png[/docimg] Note how layers can not only add new actions on top of underyling layers, they can also override previous bindings -- in this case, the vehicle-specific "brake" and "gas" actions override the basic layer's "jump" and "interaction" actions, and "steer" overrides the "move" action bound to the trackpad and joystick on the base layer, and in turn is overriden by the "aim" action from the scoped-in action set layer. …
If you are unsure whether your game has a USK rating, please check on their [url=https://usk.de/?s&jump=usktitle&post_type=usktitle]official website[/url]. [b]Q. Will this affect customers who already own a license to my game?[/b] A. No. If your game does not have an age rating this will affect the visibility of your game on the German Steam storefront but German customers who already own a license will be able to continue to access and play it without restrictions. …
. [*]You should not enter a Doing Business As ("DBA") or "friendly name" or alias/nickname for your company name.[/list] [subsection]Company Types[/subsection] You will need to provide both the legal company name and company form to onboard to Steamworks. An example of a Company Form is "A Quebec limited liability partnership" or "A Washington State corporation" or "A Sole Proprietorship". …
[/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. For more information about creating, testing, and releasing a demo, please see the [doclink=store/application/demos]Demos documentation[/doclink]. …
Please access all previous session recordings [url=https://www.youtube.com/playlist?list=PLckFgM6dUP2iCWK3VkvB8YZI9b7HHCj8m]via this YouTube playlist[/url]. [/introblock] [subsection=faq_demo][b]Registration & Eligibility Questions[/b][/subsection] [b]Q: I've changed my plans. …
. [*] Service is not allowed to charge more than the agreed amount in the period (so if the user agreed to $20 a month, they cannot charge more than $20 each month – but may charge less). [*] User is only allowed to cancel this type of subscription. [/list] [b]Configuration:[/b] Please see [doclink=features/microtransactions/recurring_billing][/doclink] for details on getting this set up. …
. [*]IP Whitelist - Each publisher key can also be locked to a specific set of calling IP addresses. [/list] The four types of Web API Key Permissions are: [list][*]Microtransactions for initializing, finalizing, and reconciling in-game purchases. [*]Sales Data calls to the IPartnerFinancialService API. [*]Economy calls for games that use the Steam Inventory Service. [*]General API calls for things like authenticating a user or checking ownership of a DLC-- everything not included in the above three permissions. …
Notification of cancellations will be done through the [webapi]ISteamMicroTxn/GetReport[/webapi] Web API. If your billing agreement is set to the "Game" type, then your backend server will need to the WebAPI [webapi]ISteamMicroTxn/ProcessAgreement[/webapi] to charge the user on each recurring event. …
[h4]Recommendations[/h4] [list] [*] Let players save at any time, except during loading, or if loading the save would cause game-breaking scenarios. [*] Allow both manual saving and auto-saving, and use separate save slots for both types of saves. Don't have auto-saves overwrite manual saves. [/list] [section=audio_recommendations]Audio[/section] [subsection=volume_controls]Custom Volume Controls[/subsection] [h4]Why is this tag important to players?…
Players can look for this tag to know that they can adjust the relative levels of different types of sound in the game. [h4]Recommendations[/h4] [list] [*] Provide separate volume controls for music, sound effects, ambient audio, and character speech. [*] The more distinct volume controls you can provide, the better. …
Some examples of additional content that could be delivered as DLC include: [list] [*]Expansions [*]New maps or levels [*]Additional characters [/list] DLC could be used for supplemental content that does not show up in-game such as [list] [*]Artbooks or wallpapers [/list] [doclink=store/application/soundtrackapp][/doclink] are handled with a special type of App ID that's different from DLC. Other types of in-game content such as cosmetics, consumable items or currencies may better be served by [doclink=features/microtransactions/implementation]microtransactions[/doclink]. …
[subsection]Concepts[/subsection] On the broadcast history page, you will see a table with two type of rows: Broadcast Sessions and Upload Sessions. [list] [*] [b]Broadcast Session[/b] - This is created by Steam when you first start a live stream and will continue to exist for at least 5 minutes after you stop streaming. …
[section=error]Asset Error[/section] We currently support the following file types for extra assets: PNG, JPG, GIF, WEBP, MP4, and WEBM. All uploaded assets are automatically transcoded by Steam’s systems. If you encounter an error when uploading an asset, it could be due to a server issue or a transcoding error. …
Examples of Roadmap assets: [docimg=arcraidersroadmap]arcraidersroadmap[/docimg] [docimg=spacemarine2roadmap.jpg]spacemarine2roadmap.jpg[/docimg] [docimg=percentagebasedapproach]percentagebasedapproach[/docimg] [section]Setting up a Roadmap[/section] To start, navigate to your game's app landing page, and click on "Edit Store Page". …
If you would like to bind to Frame Controller specific buttons or have Frame Controller specific offsets you can use the Steam Frame Controller OpenXR Interaction Profile or use the Frame Controller OpenVR Controller type: [b]frame_controller[/b]. [subsection]OpenXR[/subsection] See [doclink=steamhardware/steamframe/input][/doclink] for details. …
Additional revenue share is accrued towards any 'Game' app or 'Application' app on Steam. To check your app type, navigate to the 'Edit Steamworks Settings' page, which is found under the 'Technical Tools' heading on the App Landing Page. Alternatively, you can use the following link, filling in your specific appID: https://partner.steamgames.com/apps/view/YourAppID [*] [b]Q. I have a package that contains a Game or Application app, as well containing a DLC, Music, or other type of app that is not 'Game' or 'Application'. Do I need to worry about this affecting my additional revenue share payment?[/b] A. The presence of the Game or Application app overrides all other non-Game/Application content in the package. …
As an example, you can see in the screenshot above that the developers of Rust have customized their Steam Item Store page with a custom background and tabs for easily finding different types of items. [subsection]Naming your store[/subsection] You can enter a name for your store and localized versions of that name for display in different languages. …
[table] [tr] [td]OpenVR (Depth-assisted reprojection)[/td] [td][url=https://github.com/ValveSoftware/openvr/wiki/IVRCompositor::Submit]IVRCompositor::Submit[/url] with [url=https://github.com/ValveSoftware/openvr/blob/v2.15.6/headers/openvr.h#L191]VRTextureWithPoseAndDepth_t[/url][/td] [/tr] [tr] [td]OpenVR (Depth+Motion-assisted reprojection)[/td] [td][url=https://github.com/ValveSoftware/openvr/wiki/IVRCompositor::Submit]IVRCompositor::Submit[/url] with [url=https://github.com/ValveSoftware/openvr/blob/v2.15.6/headers/openvr.h#L202]VRTextureWithMotion_t[/url][/td] [/tr] [tr] [td]OpenXR (Depth-assisted reprojection)[/td] [td][url=https://registry.khronos.org/OpenXR/specs/1.0/man/html/XR_KHR_composition_layer_depth.html]XR_KHR_composition_layer_depth[/url][/td] [/tr] [tr] [td]OpenXR (Depth+Motion-assisted reprojection) Vendor-agnostic[/td] [td][url=https://registry.khronos.org/OpenXR/specs/1.1/man/html/XR_EXT_frame_synthesis.html]XR_EXT_frame_synthesis[/url][/td] [/tr] [tr] [td]OpenXR (Depth+Motion-assisted reprojection) Oculus[/td] [td][url=https://registry.khronos.org/OpenXR/specs/1.0/man/html/XR_FB_space_warp.html]XR_FB_space_warp[/url][/td] [/tr] [/table] You can visualize the depth or motion vectors submitted by using the [doclink=steamframe/debugging#GameTextures]Draw Performance Assessment Game Textures in Headset[/doclink] option. …
To help troubleshoot transient frame time issues with your game, you can look at the [b]perfcriteria.txt[/b] file in the SteamVR logs folder ([b]/home/steamos/.local/share/Steam/logs[/b], or accessible through the alias [b]cdl[/b] from a shell). The first 2 lines recapitulate the Application Name, Steam Application ID, target frame time, effective resolution, etc. The rest of the file is a list of frame times leading to the violation of the threshold set with the target frame time. …
[section]Steam Deck™ Brand Guidelines and Logos[/section] Last Updated: May 2,2022 To ensure that Steam Deck™ branding and trademarks are used consistently across all marketing and communication materials, we have some guidelines that should be followed by all partners when using Steam Deck branding. …
. [*] Depending on each users' preferences, your title may not be included in a queue. Titles can be filtered out based on associated tags or the type of product it is. [*] When the user then clicks through their 'New Releases Queue', they will land on your store page and it counts as a view in our system. …
[section]Main Capsule Visibility[/section] This area features games and software from a variety of sources and also allows for user-customization to exclude or include particular types of content. By default, the main capsule can include one or more popular new releases, top sellers, Early Access titles, personalized recommendations, software, or DLC for products the user has in their library. …
You'll need to click "Mark as ready for review" to communicate to Valve that you have completed the necessary release checklist items and are ready for review. Please see our [doclink=store/types][/doclink] documentation for more information how to release your product on Steam. [subsection]Review once; Update any time[/subsection] Once your game has been reviewed and approved, there is no need to go through review again. …
[/list] The results of a compatibility review will not affect whether your game is available to customers on Frame, but will affect how it is presented. [callout]Note: This review process only applies for games (both 2D and VR) running locally on Steam Frame, not games running on a PC streamed to Frame.[/callout] This process is a direct extension of the existing Steam Deck Compatibility Review process. …
We trust you'll target what makes most sense for your game and customers. [b]Performance[/b] [list] [*][b]2D titles[/b]: your game must run at a minimum 30 fps at 1280x720 during normal play. [*][b]VR titles[/b]: your game must run at a minimum of 72 fps at 1728x1728 during normal play. …