If you plan to read/write files directly via the [code-inline]ISteamRemoteStorage[/code-inline] interface, then you can control platform sync via [api]ISteamRemoteStorage::SetSyncPlatforms[/api]. The default for a new file is to sync to [b]all[/b] platforms. …
The Cloud API isolates individual Steam users files from each other and provides a greater level of control over the Steam Cloud. The Steam Cloud API is exposed via the [api]ISteamRemoteStorage[/api] API interface, and you can find example usage in the [doclink=sdk/api/example][/doclink] project. …
So please fill in the 'description' tab with thoughtful content as well. [b]Q. How can I show/hide my creator home widget? Can I control where it appears?[/b] A. Yes to all. This feature is enabled the default location (near top of the page) via the 'General Page Configuration' panel within the right hand panel 'Show creator capsule for this event'. This is off by default, however, you can enable it. You can also control the location where this widget appears by creating a regular sale section and then changing what should be featured in this section to "Curator or Creator Home section". …
Valve uses this in Steam and most of our games to handle windowing and it provides the backend which powers the [doclink=features/steam_controller]Steam Input API[/doclink]. 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. …
[subsection]Demo Release[/subsection] You can send a notification to players who wishlisted your game once when you make an associated free demo available for public play. The timing of this notification is under your control up to two weeks following the release of your demo. You will need to return to your demo app landing page and push the button in order to issue the notification. …
Broadcast by games included on the sale that aren't explicitly in the schedule will have the 'Default' priority. In the sale page editor, there are controls to setup the time range for the schedule, so that it can be setup to be different than underlying sale event. The specific event types allowed can also be configured here. …
However DLC can be marked to not download automatically so that the game has control of when the DLC download occurs. This can be useful for supporting streaming installs or downloads based on game logic. You can configure DLC to be downloaded and installed on-demand by following the steps below. …
Some things you may want to think about when sending copies of your game to Curators: [list][*][b]Selecting Curators[/b] - You can use the controls to filter the list of Steam Curators to pick from. You'll want to identify Curators that have an audience that is likely to be interested in your particular game. [*][b]Crafting your message[/b] - You'll also need to include a message to the Curators. …
The primary purpose of this interface is to be "like UDP", so that UDP-based code can be ported easily to take advantage of relayed connections. If you find yourself needing more low level information or control, or to be able to better handle failure, then you probably need to use [api]ISteamNetworkingSockets[/api] directly. Also, note that if your main goal is to obtain a connection between two peers without concerning yourself with assigning roles of "client" and "server", you may find the symmetric connection mode of ISteamNetworkingSockets useful. …
The same connections are still used under the hood, so you still get the same performance, but the connections are created and idle timed out for you automatically, and you do not receive quite as much control over the connection, or feedback about its state. [/list] An opensource version of this API is available on [url=https://github.com/ValveSoftware/GameNetworkingSockets]github[/url]. …
Higher numeric values take priority over lower numeric values. Each lane also is assigned a weight, which controls the approximate proportion of the bandwidth that will be consumed by the lane, relative to other lanes of the same priority. (This is assuming the lane stays busy. …
With the Steam Microtransaction APIs, your Steam game can support all kinds of in-game purchases, including items, virtual currency, or any other content you’d like to offer. The upside of this approach is you retain control and flexibility over the process. You can change offerings at any time, change prices, change descriptions, etc, however you like. …
We pay the Total Revenue Share amount as indicated per the monthly Steam Sales Report. We don’t pass any wire fees to you but we cannot control bank fees that may be imposed on you by intermediary banks or your receiving bank. [*] [b]Q. Bank fees consume a large portion of the payment that you send me for my Steam sales. …
Remember, you can only link to a Creator Homepage that you are in control of or have linked to previously. If your game is published by a different company, that publisher may have to link the game to their Creator Homepage themselves. [*][h4]Q: Can I link different developer or publisher names to the same Creator Homepage?…
This will let us replay your tracking inputs to see exactly what is happening with hmd and controller poses and test new tracking software against these exact inputs. The recording has to be manually triggered to begin and end, so it's best if the issue is ongoing or if you think you can reproduce the issue without too much effort. …
This may happen very quickly for highly engaged players or more slowly for more casual players, but the pace of unlock is controlled by the player's progress. In a Season Pass set up, you - the game maker - select when the content is released to customers (as described above), and that release is not based on gameplay milestones. …
[doclink=#client_to_backend_webapi]More Information...[/doclink] [h4]The key controls which version of the software is unlocked[/h4] Each version of your game should have its own AppID. From the game client, call [api]ISteamUser::GetAuthSessionTicket[/api] and then use [webapi]ISteamUserAuth/AuthenticateUserTicket[/webapi] with [webapi]ISteamUser/CheckAppOwnership[/webapi] to verify ownership. …
Using this type of integration, your game will have immediate access to new Steam users and payment methods as soon as they become available. With this system, the purchase is completely under your control. A successful response to a purchase request will result in the user reliably getting charged and you getting positive and immediate notification of the event. …
If you are storing many of these, you will very likely benefit from using dynamic memory. [section=configuration]Configuration[/section] You can control different operating parameters, on a global or connection-specific basis. The methdos to do this are in [api]ISteamNetworkingUtils[/api] [subsection=ESteamNetworkingConfigScope]ESteamNetworkingConfigScope[/subsection] Configuration values can be applied to different types of objects. …
k_ESteamNetworkingConfig_FakePacketReorder_Time = 8, /// [global float 0--100] Globally duplicate some percentage of packets we send k_ESteamNetworkingConfig_FakePacketDup_Send = 26, k_ESteamNetworkingConfig_FakePacketDup_Recv = 27, /// [global int32] Amount of delay, in ms, to delay duplicated packets. /// (We chose a random delay between 0 and this value) k_ESteamNetworkingConfig_FakePacketDup_TimeMax = 28, /// [connection int32] Timeout value (in ms) to use when first connecting k_ESteamNetworkingConfig_TimeoutInitial = 24, /// [connection int32] Timeout value (in ms) to use after connection is established k_ESteamNetworkingConfig_TimeoutConnected = 25, /// [connection int32] Upper limit of buffered pending bytes to be sent, /// if this is reached SendMessage will return k_EResultLimitExceeded /// Default is 512k (524288 bytes) k_ESteamNetworkingConfig_SendBufferSize = 9, /// [connection int32] Minimum/maximum send rate clamp, 0 is no limit. /// This value will control the min/max allowed sending rate that /// bandwidth estimation is allowed to reach. Default is 0 (no-limit) k_ESteamNetworkingConfig_SendRateMin = 10, k_ESteamNetworkingConfig_SendRateMax = 11, /// [connection int32] Nagle time, in microseconds. …
Because of the way the SteamVR.exe service interacts with broadcasting, you'll need to use an external tool (such as OBS). That will give you the necessary control to configure your broadcast and let you point Steam directly at your game appID rather than SteamVR.exe. For more details, please see [doclink=store/broadcast/setting_up]Setting Up A Stream[/doclink]. …
If the user is in offline mode in Steam, then this will add an only-if-cached cache-control header and only do a local cache lookup rather than sending any actual remote request. If the data you are expecting is large, you can use [api]ISteamHTTP::SendHTTPRequestAndStreamResponse[/api] to stream the data in chunks. …
If the user is in offline mode in Steam, then this will add an only-if-cached cache-control header and only do a local cache lookup rather than sending any actual remote request. If the data you are expecting is small (on the order of a few megabytes or less) then you'll likely want to use [api]ISteamHTTP::SendHTTPRequest[/api]. …