We highly recommend using [url=https://partner.steamgames.com/doc/features/cloud]Steam Cloud[/url] for automatic transfers. We recommend against syncing game configuration settings, ie., display resolution, between different devices. [*][b]Graphics Settings[/b]: Cloud saves are great, but make sure graphics settings are not included in that clouded data. …
When native UI launchers are required, you can use the [url=https://partner.steamgames.com/doc/api/ISteamUtils#SetGameLauncherMode]SetGameLauncherMode[/url] API to automatically translate controller input to keyboard/mouse events to assist the user. …
We set this by selecting the special "action set" button in the binding screen and selecting "Apply Action layer --> System Options" from the pop up menu: [docimg=slime_rancher_radial_menu_config_3.png]slime_rancher_radial_menu_config_3.png[/docimg] Note that the special "action set" button will not appear in the binding menu if you don't have any custom action sets defined. This means that you must create your custom action set layer [i]before[/i] you try to set up the activation toggle for it. See the [doclink=features/steam_controller/action_set_layers][/doclink] article for more info on creating action set layers. …
[/td][/tr] [tr][td][b]pTags[/b][/td][td]const [apitype]ISteamRemoteStorage::SteamParamStringArray_t[/apitype] *[/td][td]A set of tags where at least one of the tags must attach to the UGC.[/td][/tr] [/table] Adds the requirement that the returned items from the pending UGC Query have at least one of the tags in the given set (logical "or"). …
[/td][/tr] [/table] Gets info about currently installed content on the disc for workshop items that have [code-inline]k_EItemStateInstalled[/code-inline] set. Calling this sets the "used" flag on the workshop item for the current player and adds it to their [code-inline]k_EUserUGCList_UsedOrPlayed[/code-inline] list. …
This can not be longer than [apitype]ISteamFriends::k_cubChatMetadataMax[/apitype].[/td][/tr] [/table] Sets a key/value pair in the lobby metadata. This can be used to set the the lobby name, current map, game mode, etc. This can only be set by the owner of the lobby. …
[/td][/tr] [tr][td][b]steamIDGameServer[/b][/td][td][apitype]steam_api::CSteamID[/apitype][/td][td]Sets the Steam ID of the game server. Use [apitype]steam_api::k_steamIDNil[/apitype] if you're not setting this.[/td][/tr] [/table] Sets the game server associated with the lobby. …
You must hook up the Win32 [url=https://msdn.microsoft.com/en-us/library/5z4bw5h5.aspx]_set_se_translator[/url] function which calls a function you create to handle the minidump. In that function you can use [api]steam_api::SteamAPI_SetMiniDumpComment[/api] and [api]steam_api::SteamAPI_WriteMiniDump[/api] to notify Steam about the impending crash. …
SteamAPI_SetMiniDumpComment( "Minidump comment: SteamworksExample.exe\n" ); // The 0 here is a build ID, we don't set it. // Note that values larger than ten million (10,000,000) will cause error reporting to fail. …
The following fields must be completed to define a leaderboard: [list] [*] [b]Name[/b] - Set this to be a name that makes sense as part of internal development. [*] [b]Community Name[/b] - If the leaderboard is to be shown on the Community Hub, set the public facing name here. …
Select from Numeric, Seconds or Milliseconds. [*] [b]Writes[/b] - If this is set to Trusted, the leaderboard scores cannot be set by clients, and can only be set by via SetLeaderboardScore WebAPI. Defaults to false. [*] [b]Reads[/b] - If this is set to Friends, the game can only read leaderboard scores for friends of the user, all scores can always be read by WebAPI. …
The value you replace [code-inline]"ActionSetNameGoesHere"[/code-inline] with will be the name of the action set that you use in the Steam Input API. And the value you replace [code-inline]"#TitleGoesHere"[/code-inline] with will be the localization token you use in the [code-inline]"localization"[/code-inline] section later in the file. …
If you find yourself using this feature for more than just fixing a few rare edge cases, you're probably overusing it. [/callout] [subsection]Action Set Layers[/subsection] In addition to Action Sets you can also overlay incremental changes to the active Action Set with an Action Set Layer. …
[/td][/tr] [tr][td][b]actionSetHandle[/b][/td][td][apitype]ISteamController::ControllerActionSetHandle_t[/apitype][/td][td]The handle of the action set you want to activate.…
[/td][/tr] [tr][td][b]actionSetHandle[/b][/td][td][apitype]ISteamController::ControllerActionSetHandle_t[/apitype][/td][td]The handle of the action set you want to query.…
Set the install directory on the [b]General[/b] section under the [b]Installation[/b] drop-down for your application's Steamworks Settings. [docimg=set_install_dir.png]set_install_dir.png[/docimg] [section=os_depots]Operating System Depots[/section] If your app supports multiple platforms, you should use separate depots to store the platform specific content. …
Your upcoming game's release date in Steamworks serves two purposes: to tell players when they might expect your game, and to list your game on upcoming releases lists. How these dates appear can be customized within a set of options built into Steam. [docimg=release_dates_example1]release_dates_example1[/docimg] [section]Setting Your Game's Release Date[/section] The release date can be set from your game's landing page in Steamworks. On the right-hand side of the page, you'll see a section called "Specified release date". Click the edit icon there to update your release date settings. [section]Player-Facing Date Display[/section] You'll need to set an exact intended release date, which is not directly visible to players. …
The results are returned ordered by geographical distance and based on any near filters set. By default, we will not return lobbies that are already full, and the distance filter is set to [apitype]ISteamMatchmaking::k_ELobbyDistanceFilterDefault[/apitype] (nearby). …
If lobby data is changed on a lobby, all lobby members will receive a [apitype]ISteamMatchmaking::LobbyDataUpdate_t[/apitype] callback (this callback is the same way you know a [api]ISteamMatchmaking::RequestLobbyData[/api] call has completed). These are the set of functions you can use to get and set lobby data. Only the lobby owner can set or delete the lobby data. [list] [*] [api]ISteamMatchmaking::SetLobbyData[/api] [*] [api]ISteamMatchmaking::GetLobbyData[/api] [*] [api]ISteamMatchmaking::DeleteLobbyData[/api] [/list] Functions which allow you to iterate over the metadata, (this is typically only used for debugging purposes): [list] [*] [api]ISteamMatchmaking::GetLobbyDataCount[/api] [*] [api]ISteamMatchmaking::GetLobbyDataByIndex[/api] [/list] Lobbies also allow members to set their own metadata that other members can receive updates for with the following functions. …
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. …
Don't compare it to values obtained on another computer, or other runs of the same process. [subsection=SetDebugOutputFunction]SetDebugOutputFunction[/subsection] [code=cpp]void SetDebugOutputFunction( ESteamNetworkingSocketsDebugOutputType eDetailLevel, FSteamNetworkingSocketsDebugOutput pfnFunc );[/code] Set a function to receive network-related information that is useful for debugging. …
You can formally link related games by defining and setting a franchise for each game, movie, software, or VR experience, and then linking each to a franchise homepage. This document covers the why and how. …
[url=https://steamcommunity.com/actions/GroupCreate]Create a new group[/url] or use an existing group you may have set up in the past with your franchise name. [url=https://support.steampowered.com/kb_article.php?ref=2092-QLZX-8453]Learn more about Steam Community groups[/url] [*][b]Set the ‘franchise’ on each game[/b] - In the ‘edit store page’ section for any of your games (right below where you set developer and publisher), you'll need to specify the franchise name you want to use and then click the 'link' button to select your group to link it to. …
We recommend that you only white-list properties that you are fine with an untrusted client setting (i.e. the user can spoof messages to set the value to whatever they want). Currently you can modify up to 100 items for a user in each call. …
[h4]Applying Restrictions[/h4] As mentioned previously, you can white-list certain properties so they can be set from the client. But you can also further restrict what properties can be set by requiring the target item to have a specific [code-inline]tag_category:tag_value[/code-inline] pair or for any [code-inline]tag_category[/code-inline] value. …
[docimg=AdminUI_setLive.jpg]AdminUI_setLive.jpg[/docimg] [/list] [/olist] [section]Maintaining a Bundle[/section] Bundles can be modified to add or remove included items, adjust discount percentage, or edit assets and/or description. …
Do Bundle discounts trigger wishlist notifications?[/b] A. No. Setting a bundle live with a discount, or altering a bundle discount will not notify customers who have wishlisted the products inside a bundle. …
[docimg=playtest_special_settings_screenshot0.png]playtest_special_settings_screenshot0.png[/docimg] You will be able to show or hide Playtest signups whenever you like. [*] Now that customers are signing up for your Steam Playtest, you can prepare your content for them. Upload depots and set up builds on the Playtest just like any other game or demo. You can integrate Steamworks technical features, set Steam Input templates, configure cloud saves, and so on. …
[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. …
If you release your demo by that date then press can potentially try out your demo. [*] [b]Set your demo live in time for Next Fest[/b] - Steam Next Fest only includes games with demos, so please be sure to set yours live ahead of the start of Next Fest. [*] [b]Check your tags/categories[/b] - Steam Next Fest is organized based on the categories you selected when you registered (up to 2 categories per game) and then based on the store tags applied to your game. …
Best to try all that out well in advance of Next Fest to make sure that your stream goes smoothly. Learn more: [doclink=store/broadcast/setting_up]Setting Up A Stream[/doclink]. If you plan on streaming the Demo of your game, be sure to check out [doclink=store/broadcast/demo] Broadcasting a Game Demo to the Store Page[/doclink], as it works differently from regular livestreams. [*] [b]Turn on broadcast chat by default[/b] - When you set your live stream to appear on your store page, you can configure the chat window to be open by default. …
[subsection=RequestAppProofOfPurchaseKey]RequestAppProofOfPurchaseKey[/subsection] [code=cpp]void RequestAppProofOfPurchaseKey( AppId_t nAppID );[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]nAppID[/b][/td][td][apitype]steam_api::AppId_t[/apitype][/td][td][/td][/tr] [/table] Deprecated. [subsection=SetGamePerformanceSetting]SetGamePerformanceSetting[/subsection] [code=cpp]void SetGamePerformanceSetting();[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]setting[/b][/td][td][apitype]ISteamApps::EGamePerformanceSetting[/apitype][/td][td]The relative performance level.…
[/td][/tr] [/table] [b]See Also:[/b] [api]ISteamApps::BIsTimedTrial[/api] [section=enums]Enums[/section] These are enums which are defined for use with ISteamApps. [subsection=EGamePerformanceSetting]EGamePerformanceSetting[/subsection] Game performance levels. [table] [tr][th]Name[/th][th]Value[/th][th]Description[/th][/tr] [tr=k_EGamePerformanceSetting_NotSet][td][b]k_EGamePerformanceSetting_NotSet[/b][/td][td]0[/td][td][/td][/tr] [tr=k_EGamePerformanceSetting_Low][td][b]k_EGamePerformanceSetting_Low[/b][/td][td]1[/td][td][/td][/tr] [tr=k_EGamePerformanceSetting_Medium][td][b]k_EGamePerformanceSetting_Medium[/b][/td][td]2[/td][td][/td][/tr] [tr=k_EGamePerformanceSetting_High][td][b]k_EGamePerformanceSetting_High[/b][/td][td]3[/td][td][/td][/tr] [tr=k_EGamePerformanceSetting_Ultra][td][b]k_EGamePerformanceSetting_Ultra[/b][/td][td]4[/td][td][/td][/tr] [tr=k_EGamePerformanceSetting_Custom][td][b]k_EGamePerformanceSetting_Custom[/b][/td][td]4[/td][td][/td][/tr] [/table] [subsection=ERegisterActivationCodeResult]ERegisterActivationCodeResult[/subsection] Only used internally in Steam. …
This is an example from the Steamworks SDK: [code] "configurations" { "controller_xboxone" { "0" { "path" "xbox_controller.vdf" } } "controller_steamcontroller_gordon" { "0" { "path" "steam_controller.vdf" } } } [/code] [subsection]Step 5 - Set the Steamworks settings[/subsection] To set your Steamworks settings in the partner site, navigate to the Steam Input settings. 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. …
However if you're running without the game installed in Steam or have local changes you need to make then you can override the Action Manifest path with the SetInputActionManifestPath API call. This override will be remembered for the rest of the Steam session. There's an example of it's use in the Steamworks SDK: [code] char rgchCWD[1024]; if ( !…