Check out this presentation from Steam Dev Days 2016 for an implementation overview, details on the specific problems that the Inventory Service solves for developers, and demonstration on how partners are already using the system to serve their customers. https://www.youtube.com/watch?v=jDfhPTSOLis [section=ImplementationOverview]Implementation Overview[/section] [olist] [*] [b]Create Item Definitions[/b] You'll need to start by creating and uploading some [doclink=features/inventory/schema]item definitions[/doclink] (ItemDefs). …
First, make sure you have turned on [b]Developer Mode[/b] as described in the [doclink=steamframe/setup][/doclink] this will let you deploy to the headset. Steam Frame has a custom plugin to take advantage of some of the features of the hardware, and there are some changes to the engine that are recommended to run as smoothly as possible. …
[/section] As of Unreal 5.6, you can run on Android with Steam Frame using Unreal's built in OpenXR support, with no custom code changes. This does NOT work on earlier versions of the engine. However, because of a memory allocation issue, your project will need to have C++ code in it, and you'll need to use the Binned2 allocator as outlined in the documentation under "Common Problems.…
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. …
It does this by taking six 1-second clips from various points in the video and stitching them together. It is not possible to customize microtrailers. [section=contact]Have More Questions?[/section] [url=https://help.steampowered.com/en/wizard/HelpWithPublishing?…
Here is an example of what this [url=https://medal.tv/clips/4725198]clip[/url] embedded on an events page looks like Medal offers customization options to add things such as a "Get this on Steam" button to your clips. You can view the clip documentation [url=https://docs.medal.tv/player#enable-get-this-on-steam]here[/url]. …
This is useful for creating spatialized ambiences that are fixed in place relative to the virtual world. [*] [b]Use custom HRTFs using SOFA files.[/b] In addition to its built-in HRTF, Steam Audio can spatialize point sources and Ambisonics sources using any HRTF specified by the user. …
(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! [/olist] …
[/list] [section=FAQ]Frequently Asked Questions[/section] [b]NOTE:[/b] You may find additional answers on the customer facing support site such as this topic: [url=https://support.steampowered.com/kb_article.php?ref=9394-yofv-0014]Steam Community Overlay does not Activate[/url]. …
[docimg=2020-03-10_22-25-10.png]2020-03-10_22-25-10.png[/docimg] [*] Go to the 'Stream' configuration tab. 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]. …
These are displayed in different places on the Steam store and in customer's libraries. [docimg=Header_1.jpg]Header_1.jpg[/docimg] [callout=red,foo][b]August, 2024[/b]: Steam is now accepting larger asset sizes for most capsules. …
. [*] [b]testappcloudpaths <AppID>[/b] - Allows testing of auto-cloud configuration before enabling auto-cloud for all customers. This command only works for one app ID at a time and needs to be run on each client that is being tested with. [*] [b]log_callbacks <first callbackID> <last callbackID>[/b] - Logs all callbacks to the console. [*] [b]log_matchmaking_callbacks <0|1>[/b] - Enables/disables logging matchmaking callbacks. [*] [b]log_ipc <counts|verbose> <filter>[/b] - See [doclink=#steamworks_api_logging][/doclink]. …
You can pass NULL to remove a non-global setting at this scope, causing the value for that object to use global defaults. 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. …
This can be extremely useful during development, but it can also be useful for troubleshooting problems with tech savvy end users. If you have a console or other log that customers can examine, these log messages can often be helpful to troubleshoot network issues.(Especially any warning/error messages.) …
Sometimes games made by different developers have common themes and can benefit from co-marketing. Including those games in the bundle make it easier for Steam customers to acquire those related titles. This document outlines the steps required to create a collaborative bundle on Steam that contains games from multiple developers/publishers. …
[/list] [section=eligibility]Eligibility[/section] Steam Next Fest: June 2027 is open to upcoming games that meet all of the following criteria: [list] [*]Associated with a Steamworks developer account in good standing [*]Store page must be published and public [*]Is not a prologue, chapter 1, or otherwise 'demo' version of existing content available to customers [*]Includes a publicly playable demo by the time the festival begins [*]Released any time after the conclusion of the fest on June 21, 2027 [/list] [b]Please Note:[/b] [list] [*]All upcoming games may participate with a playable demo in Steam Next Fest, regardless of release date. [*]A game may only appear once in Steam Next Fest. …
[/list] [section=eligibility]Eligibility[/section] Steam Next Fest: February 2027 is open to upcoming games that meet all of the following criteria: [list] [*]Associated with a Steamworks developer account in good standing [*]Store page must be published and public [*]Is not a prologue, chapter 1, or otherwise 'demo' version of existing content available to customers [*]Includes a publicly playable demo by the time the festival begins [*]Released any time after the conclusion of the fest on March 1, 2027 [/list] [b]Please Note:[/b] [list] [*]All upcoming games may participate with a playable demo in Steam Next Fest, regardless of release date. [*]A game may only appear once in Steam Next Fest. …
If interested, you may set up your own discount event that includes some or all of the dates of the event, or, for your convenience, the event organizer may be able to share a (purely optional) custom discount event that will appear directly in your Discount Management Tool. Keep in mind that third party sales events are not exempt from Steam's typical [doclink=marketing/discounts#21]30-day discount cooldown[/doclink], so be sure to plan out your discount participation accordingly. …
We recommend doing everything you can to avoid this condition, however, as it means a customer with devices across multiple platforms will never have their progress saved across those devices. [section=initial-setup]Initial Setup[/section] To set up Steam Cloud you must set the [code-inline]Byte quota per user[/code-inline] and [code-inline]Number of files allowed per user[/code-inline] options on the [url=https://partner.steamgames.com/apps/cloud/]Steam Cloud Settings[/url] page in the Steamworks App Admin panel. …
Steam uses the necessary Windows APIs to find the current location of these folders, whether they are default or customized. [*] [h4]Subdirectory[/h4] Subdirectory path to the clouded files relative to the Root. Use `.` if there is no subdirectory. …
The item drop frequency can be controlled at the application level via the Community->Inventory Service->Playtime Item Grants section. There are three controls that will allow the following customization: (1) How long before a item drop? (2) How many items drops in a window? And, (3) How long is the cool-down window before we can grant another item drop? …
See the Steam [doclink=features/inventory/itemstore]Item Store[/doclink] documentation for more information on enabling and customizing your store page. [subsection=SpecifyPrices]Specifying Prices[/subsection] Item prices can be defined in either of the following fields, but not both. …
The following libraries provide support for other aspects of game development: [list] [*] [url=http://www.freetype.org/index.html]FreeType[/url] - font rendering (both vector-based and bitmap fonts) on Linux [*] [url=http://www.freedesktop.org/wiki/Software/fontconfig]Fontconfig[/url] - configuring and customizing font access [*] [url=http://www.radgametools.com/miles.htm]Miles Sound System[/url] - a middleware sound engine for Linux development [*] [url=http://www.radgametools.com/bnkmain.htm]Bink Video[/url] - a video codec designed for game developers [*] [url=http://www.webmproject.org/]WebM[/url] - an open media file format; used for recording Team Fortress 2 video instead of QuickTime. …
"[code-inline]steam_0[/code-inline]", "[code-inline]steam_1[/code-inline]", etc. You can also upload custom icons for your product on the Steamworks site. Default set of icons: [no_glow] [table] [tr] [th]Icon[/th][th]Name[/th][th]Description[/th] [/tr] [tr] [td][docimg=marker_2.png][/docimg][/td][td]steam_marker[/td][td]Marker[/td] [/tr] [tr] [td][docimg=achievment_1.png][/docimg][/td][td]steam_achievement[/td][td]Achievement[/td] [/tr] [tr] [td][docimg=attack_1.png][/docimg][/td][td]steam_attack[/td][td]Attack[/td] [/tr] [tr] [td][docimg=bolt_1.png][/docimg][/td][td]steam_bolt[/td][td]Bolt[/td] [/tr] [tr] [td][docimg=bookmark_1.png][/docimg][/td][td]steam_bookmark[/td][td]Bookmark[/td] [/tr] [tr] [td][docimg=bug.png][/docimg][/td][td]steam_bug[/td][td]Bug[/td] [/tr] [tr] [td][docimg=cart.png][/docimg][/td][td]steam_cart[/td][td]Cart[/td] [/tr] [tr] [td][docimg=caution.png][/docimg][/td][td]steam_caution[/td][td]Caution[/td] [/tr] [tr] [td][docimg=chat.png][/docimg][/td][td]steam_chat[/td][td]Chat[/td] [/tr] [tr] [td][docimg=checkmark.png][/docimg][/td][td]steam_checkmark[/td][td]Checkmark[/td] [/tr] [tr] [td][docimg=chest.png][/docimg][/td][td]steam_chest[/td][td]Chest[/td] [/tr] [tr] [td][docimg=circle.png][/docimg][/td][td]steam_circle[/td][td]Circle[/td] [/tr] [tr] [td][docimg=combat.png][/docimg][/td][td]steam_combat[/td][td]Combat[/td] [/tr] [tr] [td][docimg=completed.png][/docimg][/td][td]steam_completed[/td][td]Completed[/td] [/tr] [tr] [td][docimg=crown.png][/docimg][/td][td]steam_crown[/td][td]Crown[/td] [/tr] [tr] [td][docimg=death.png][/docimg][/td][td]steam_death[/td][td]Death[/td] [/tr] [tr] [td][docimg=defend.png][/docimg][/td][td]steam_defend[/td][td]Defend[/td] [/tr] [tr] [td][docimg=diamond.png][/docimg][/td][td]steam_diamond[/td][td]Diamond[/td] [/tr] [tr] [td][docimg=edit.png][/docimg][/td][td]steam_edit[/td][td]Edit[/td] [/tr] [tr] [td][docimg=effect.png][/docimg][/td][td]steam_effect[/td][td]Effect[/td] [/tr] [tr] [td][docimg=explosion.png][/docimg][/td][td]steam_explosion[/td][td]Explosion[/td] [/tr] [tr] [td][docimg=fix.png][/docimg][/td][td]steam_fix[/td][td]Fix[/td] [/tr] [tr] [td][docimg=flag.png][/docimg][/td][td]steam_flag[/td][td]Flag[/td] [/tr] [tr] [td][docimg=gem.png][/docimg][/td][td]steam_gem[/td][td]Gem[/td] [/tr] [tr] [td][docimg=group.png][/docimg][/td][td]steam_group[/td][td]Group[/td] [/tr] [tr] [td][docimg=heart.png][/docimg][/td][td]steam_heart[/td][td]Heart[/td] [/tr] [tr] [td][docimg=info.png][/docimg][/td][td]steam_info[/td][td]Info[/td] [/tr] [tr] [td][docimg=invalid.png][/docimg][/td][td]steam_invalid[/td][td]Invalid[/td] [/tr] [tr] [td][docimg=minus.png][/docimg][/td][td]steam_minus[/td][td]Minus[/td] [/tr] [tr] [td][docimg=pair.png][/docimg][/td][td]steam_pair[/td][td]Pair[/td] [/tr] [tr] [td][docimg=person.png][/docimg][/td][td]steam_person[/td][td]Person[/td] [/tr] [tr] [td][docimg=plus.png][/docimg][/td][td]steam_plus[/td][td]Plus[/td] [/tr] [tr] [td][docimg=purchase.png][/docimg][/td][td]steam_purchase[/td][td]Purchase[/td] [/tr] [tr] [td][docimg=question.png][/docimg][/td][td]steam_question[/td][td]Question[/td] [/tr] [tr] [td][docimg=ribbon.png][/docimg][/td][td]steam_ribbon[/td][td]Ribbon[/td] [/tr] [tr] [td][docimg=screenshot.png][/docimg][/td][td]steam_screenshot[/td][td]Screenshot[/td] [/tr] [tr] [td][docimg=scroll.png][/docimg][/td][td]steam_scroll[/td][td]Scroll[/td] [/tr] [tr] [td][docimg=square.png][/docimg][/td][td]steam_square[/td][td]Square[/td] [/tr] [tr] [td][docimg=star.png][/docimg][/td][td]steam_star[/td][td]Star[/td] [/tr] [tr] [td][docimg=starburst.png][/docimg][/td][td]steam_starburst[/td][td]Starburst[/td] [/tr] [tr] [td][docimg=timer.png][/docimg][/td][td]steam_timer[/td][td]Timer[/td] [/tr] [tr] [td][docimg=transfer.png][/docimg][/td][td]steam_transfer[/td][td]Transfer[/td] [/tr] [tr] [td][docimg=triangle.png][/docimg][/td][td]steam_triangle[/td][td]Triangle[/td] [/tr] [tr] [td][docimg=trophy.png][/docimg][/td][td]steam_trophy[/td][td]Trophy[/td] [/tr] [tr] [td][docimg=view.png][/docimg][/td][td]steam_view[/td][td]View[/td] [/tr] [tr] [td][docimg=x.png][/docimg][/td][td]steam_x[/td][td]X[/td] [/tr] [/table] [/no_glow] [section=example]Example Code[/section] Below is a code sample for integrating Steam Timeline with Left 4 Dead. …
[subsection]Controller Configuration[/subsection] Players can set up fully customized input mappings for any game in their library, using native mode, legacy mode, or even a mix of both. These input mappings are called "controller configurations" and a player can make many different ones for a single game, as well as share them with other players online. …