Steamworks Documentation
Found 354 search results for "Steam distribution agreement"
Steamworks Virtual Conference: Steam Deck - Nov 12th 2021

You can find the English broadcast of the conference on youtube: [url]https://www.youtube.com/watch?v=P6CUQeHIxDA[/url] Topics covered: [list] [*]Steam Deck Hardware [*]Steam on Deck [*]Proton Support [*]Steam Input [*]Steam Deck Verified [*]APU deep dive with AMD [/list] …

ISteamFriends Interface

[b]Returns:[/b] [apitype]steam_api::CSteamID[/apitype] [apitype]steam_api::k_steamIDNil[/apitype] if [code-inline]steamIDClan[/code-inline] or [code-inline]iOfficer[/code-inline] are invalid. …

[b]See Also:[/b] [api]ISteamFriends::GetFriendsGroupCount[/api] [subsection=GetFriendSteamLevel]GetFriendSteamLevel[/subsection] [code=cpp]int GetFriendSteamLevel( CSteamID steamIDFriend );[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]steamIDFriend[/b][/td][td][apitype]steam_api::CSteamID[/apitype][/td][td]The Steam ID of the user.…

Step by Step: Leaderboards

[code=cpp] ... // Initialize Steam bool bRet = SteamAPI_Init(); // Create the SteamLeaderboards object if Steam was successfully initialized if (bRet) { g_SteamLeaderboards = new CSteamLeaderboards(); } ... …

Start Steam and log in. [b][S_API FAIL] SteamAPI_Init() failed; no appID found.[/b] You most likely don't have the steam_appid.txt file in place. …

ISteamClient Interface

Interface to create a new steam instance or to connect to an existing steam instance, whether it's in a different process or is local. In most scenarios this is all handled automatically via [api]steam_api::SteamAPI_Init[/api]. …

[b]Returns:[/b] [apitype]ISteamClient::HSteamUser[/apitype] A new handle to a SteamUser. [subsection=CreateSteamPipe]CreateSteamPipe[/subsection] [code=cpp]HSteamPipe CreateSteamPipe();[/code] Creates a communication pipe to the Steam client. …

Step by Step: Stats

[code=cpp] ... // Initialize Steam bool bRet = SteamAPI_Init(); // Create the SteamStats object if Steam was successfully initialized if (bRet) { g_SteamStats = new CSteamStats(g_Stats, 6); } ... …

It shuts down steam and must be called before you application exits. Finally we delete the helper object we created. [code=cpp] ... // Shutdown Steam SteamAPI_Shutdown(); // Delete the SteamStats object if (g_SteamStats) delete g_SteamStats; ... …

Legal Attribution

Steam and the Steam logo are trademarks and/or registered trademarks of Valve Corporation in the U.S. and/or other countries.[/list] Use the Steamworks logo with the "™" servicemark. …

Steam 和 Steam 標誌為 Valve Corporation 在美國與(或)其它國家 / 地區的商標與(或)註冊商標。 ©2026 Valve Corporation. Steamworks 和 Steamworks 標誌為 Valve Corporation 在美國與(或)其它國家 / 地區的商標與(或)註冊商標。 …

ISteamMatchmaking Interface

[/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.…

[table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]m_ulSteamIDLobby[/b][/td][td][apitype]steam_api::uint64[/apitype][/td][td]The Steam ID of the lobby this message was sent in.[/td][/tr] [tr][td][b]m_ulSteamIDUser[/b][/td][td][apitype]steam_api::uint64[/apitype][/td][td]Steam ID of the user who sent this message. …

ISteamInventory Interface

[/td][/tr] [tr][td][b]steamIDExpected[/b][/td][td][apitype]steam_api::CSteamID[/apitype][/td][td]The Steam ID to verify.[/td][/tr] [/table] Checks whether an inventory result handle belongs to the specified Steam ID. …

[b]Returns:[/b] [apitype]steam_api::SteamAPICall_t[/apitype] to be used with a [apitype]ISteamInventory::SteamInventoryRequestPricesResult_t[/apitype] call result. …

ISteamInput Interface

Steam Input API is a flexible action-based API that supports all major controller types - Xbox, PlayStation, Nintendo Switch Pro, Steam Controller (2015), Steam Controller (2026), and Steam Deck. …

\n"); break; case k_ESteamInputType_PS5Controller: printf("PS5 controller!\n"); break; case k_ESteamInputType_SteamDeckController: printf("Steam Deck!\n"); break; case k_ESteamInputType_SteamController2026: printf("Steam Controller (2026)!…

Sales and Marketing

[/td] [/tr] [tr] [td][doclink=marketing/branding]Steam Branding Guidelines[/doclink][/td] [td]To ensure that Steam 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 branding.[/td] [/tr] [tr] [td][doclink=marketing/tradingcards]Steam Community Items[/doclink][/td] [td]Steam Trading Cards are collectible cards users get by playing games on Steam. By collecting the entire set of cards, users earn items that help them customize their profile and show off gameplay.…

ISteamGameServer Interface

[subsection=AssociateWithClan]AssociateWithClan[/subsection] [code=cpp]SteamAPICall_t AssociateWithClan( CSteamID steamIDClan );[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]steamIDClan[/b][/td][td][apitype]steam_api::CSteamID[/apitype][/td][td]The Steam ID of the group you want to be associated with.…

[table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]m_SteamID[/b][/td][td][apitype]steam_api::CSteamID[/apitype][/td][td]The Steam ID of the user that is wanting to connect.[/td][/tr] [tr][td][b]m_OwnerSteamID[/b][/td][td][apitype]steam_api::CSteamID[/apitype][/td][td]The Steam ID that owns the game, this will be different from [code-inline]m_SteamID[/code-inline] if the game is accessed via Steam Family Sharing.…

ISteamUser Interface

[subsection=AdvertiseGame]AdvertiseGame[/subsection] [code=cpp]void AdvertiseGame( CSteamID steamIDGameServer, uint32 unIPServer, uint16 usPortServer );[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]steamIDGameServer[/b][/td][td][apitype]steam_api::CSteamID[/apitype][/td][td]This should be [apitype]steam_api::k_steamIDNonSteamGS[/apitype] if you're setting the IP/Port, otherwise it should be [apitype]steam_api::k_steamIDNil[/apitype] if you're clearing this.…

[b]Returns:[/b] int The level of the current user. [subsection=GetSteamID]GetSteamID[/subsection] [code=cpp]CSteamID GetSteamID();[/code] Gets the Steam ID of the account currently logged into the Steam client. …

ISteamUtils Interface

[b]Returns:[/b] bool [b]true[/b] if Steam itself is running in VR mode; otherwise, [b]false[/b]. [subsection=IsSteamRunningOnSteamDeck]IsSteamRunningOnSteamDeck[/subsection] [code=cpp]bool IsSteamRunningOnSteamDeck();[/code] Deprecated as of Steamworks SDK 1.65. …

[/td][/tr] [tr=k_ESteamHardwareTypeSteamMachine][td][b]k_ESteamHardwareTypeSteamMachine[/b][/td][td]2[/td][td]Running on a Steam Machine.[/td][/tr] [tr=k_ESteamHardwareTypeSteamFrame][td][b]k_ESteamHardwareTypeSteamFrame[/b][/td][td]3[/td][td]Running on a Steam Frame.…

ISteamGameServerStats Interface

[/list] [subsection=RequestUserStats]RequestUserStats[/subsection] [code=cpp]SteamAPICall_t RequestUserStats( CSteamID steamIDUser );[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]steamIDUser[/b][/td][td][apitype]steam_api::CSteamID[/apitype][/td][td]The Steam ID of the user to request the stats for.…

[/list] [subsection=StoreUserStats]StoreUserStats[/subsection] [code=cpp]SteamAPICall_t StoreUserStats( CSteamID steamIDUser );[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]steamIDUser[/b][/td][td][apitype]steam_api::CSteamID[/apitype][/td][td]The Steam ID of the user to store the stats of.…

ISteamParties Interface

[/td][/tr] [tr][td][b]steamIDUser[/b][/td][td][apitype]steam_api::CSteamID[/apitype][/td][td]SteamID of the user joining your party.[/td][/tr] [/table] When a user follows your beacon, Steam will reserve one of the open party slots for them, and send your game a [apitype]ReservationNotificationCallback_t[/apitype] callback. …

[b]Returns:[/b] [apitype]steam_api::SteamAPICall_t[/apitype] to be used with a [apitype]JoinParty_t[/apitype] call result. Returns [apitype]steam_api::k_uAPICallInvalid[/apitype] if the beacon ID is invalid. …

Getting Started for Developers

[/list] [section]Common Use Cases[/section] [subsection]I'm Adding Steam Input API support [i]before[/i] shipping my game[/subsection] Great! Follow the technical directions in [doclink=features/steam_controller/getting_started_for_devs#implement_steam_input]Implementing Steam Input API support[/doclink]. …

There are two ways to make Steam lock onto your window for debugging, either run the following Steam URL: [code]steam://forceinputappid/<your_game's_AppID or 0 to reset to normal operation>[/code] or add the following command line parameters to your Steam shortcut: [code]-forcecontrollerappid <your_game's_AppID[/code] [callout=red] [h3]NOTE:[/h3] By "Steam shortcut" we mean a shortcut to the Steam client itself. …

Features And Tools, Marketing

Just click the little flag next to the tag in the tagging interface. Learn more: [doclink=store/tags]Steam Tagging[/doclink] [*][h3]Steam Next Fest[/h3] Steam Next Fest is a multi-day celebration where fans can try out demos, chat with developers, watch livestreams, and learn about upcoming games on Steam. For developers, Steam Next Fest is an opportunity to get early feedback from players and build an audience for a future launch on Steam. Steam typically hosts three editions of Steam Next Fest each year, which take place in February, June, and October. …

Debugging the Steamworks API

[section]Overview[/section] Steam has grown into a large application over the years and provides many separate modules and multiple different ways to debug. This page outlines as many of them as possible to help you get the most out of Steam and Steamworks while keeping headaches to a minimum. …

ex: [code-inline]log_ipc IClientUser[/code-inline] Example output: [code] 00000009 my_exe_name.exe:05 > IClientUser::GetSteamID( ) = [U:2:172006], 00000009 my_exe_name.exe:05 > IClientUser::BLoggedOn( ) = 1, 00000009 my_exe_name.exe:05 > IClientUser::GetSteamID( ) = [U:2:123456], [/code] [subsection]IPC Report[/subsection] A rollup report is available to the log_ipc command in the Steam client. …

ISteamNetworkingMessages Interface

Note that sessions time out after a while, so if a connection fails, or [api]ISteamNetworkingMessages::SendMessageToUser[/api] returns k_EResultNoConnection, you cannot wait indefinitely to obtain the reason for failure. [section]Callback structures[/section] [subsection=SteamNetworkingMessagesSessionRequest_t]SteamNetworkingMessagesSessionRequest_t[/subsection] Posted when a remote host is sending us a message, and we do not already have a session with them [code] struct SteamNetworkingMessagesSessionRequest_t { /// User who wants to talk to us SteamNetworkingIdentity m_identityRemote; }; [/code] [subsection=SteamNetworkingMessagesSessionFailed_t]SteamNetworkingMessagesSessionFailed_t[/subsection] Posted when we fail to establish a connection, or we detect that communications have been disrupted in an unusual way. …

SteamNetConnectionInfo_t m_info; }; [/code] …

Action Manifest Files

appid=[your app id] [/code] SteamOS devices: Use the [code-inline]Get Controller Config[/code-inline] command in the devkit tool (on the default Devkits tab - see [doclink=steamdeck/loadgames][/doclink] Linux Commandline (requires desktop mode on SteamOS devices): [code] xdg-open steam://dumpcontrollerconfig?…

" ); } char rgchFullPath[1024]; #if defined(_WIN32) _snprintf( rgchFullPath, sizeof( rgchFullPath ), "%s\\%s", rgchCWD, "steam_input_manifest.vdf" ); #elif defined(OSX) _snprintf( rgchFullPath, sizeof( rgchFullPath ), "%s/steamworksexample.app/Contents/Resources/%s", rgchCWD, "steam_input_manifest.vdf" ); #else _snprintf( rgchFullPath, sizeof( rgchFullPath ), "%s/%s", rgchCWD, "steam_input_manifest.vdf" ); #endif SteamInput()->SetInputActionManifestFilePath( rgchFullPath ); [/code]…

Results 161 to 180 of 354