docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Namespace Unity.Steamworks.Interop

    Classes

    CallbackIdentityAttribute

    Tags a generated callback struct with its Steam callback id (its k_iCallback), which Subscribe<T>(Action<T>, bool) uses to route the subscription.

    Constants

    The Steamworks SDK's constants and interface-version strings.

    GameServer

    Game-server Steam API lifecycle, the server-pipe counterpart of SteamAPI. Subscribe with gameServer: true on SteamCallbacks to receive its callbacks. Its SteamDispatchMode is set separately from the client pipe's.

    ISteamMatchmakingPingResponse

    Managed implementation of the C++ ISteamMatchmakingPingResponse callback sink passed to PingServer(uint, ushort, ISteamMatchmakingPingResponse). Dispose it once the query resolves (a ISteamMatchmakingPingResponse.ServerRespondedHandler or ISteamMatchmakingPingResponse.ServerFailedToRespondHandler call) or is cancelled with CancelServerQuery(HServerQuery), and not before. An undisposed sink is never collected.

    Handlers are invoked on the thread that dispatches the pipe: the package's callback thread, or the thread that calls RunFrameCallbacks(bool) or performs its own dispatch. When that is not the main thread, calls to Unity APIs must be marshalled to the main thread. Handler exceptions are caught and routed to ExceptionHandler.

    ISteamMatchmakingPlayersResponse

    Managed implementation of the C++ ISteamMatchmakingPlayersResponse callback sink passed to PlayerDetails(uint, ushort, ISteamMatchmakingPlayersResponse). One ISteamMatchmakingPlayersResponse.AddPlayerToListHandler call is made per player, followed by either ISteamMatchmakingPlayersResponse.PlayersRefreshCompleteHandler or ISteamMatchmakingPlayersResponse.PlayersFailedToRespondHandler. Dispose it after that call or after CancelServerQuery(HServerQuery), and not before. An undisposed sink is never collected.

    Handlers are invoked on the thread that dispatches the pipe: the package's callback thread, or the thread that calls RunFrameCallbacks(bool) or performs its own dispatch. When that is not the main thread, calls to Unity APIs must be marshalled to the main thread. Handler exceptions are caught and routed to ExceptionHandler.

    ISteamMatchmakingRulesResponse

    Managed implementation of the C++ ISteamMatchmakingRulesResponse callback sink passed to ServerRules(uint, ushort, ISteamMatchmakingRulesResponse). One ISteamMatchmakingRulesResponse.RulesRespondedHandler call is made per rule, followed by either ISteamMatchmakingRulesResponse.RulesRefreshCompleteHandler or ISteamMatchmakingRulesResponse.RulesFailedToRespondHandler. Dispose it after that call or after CancelServerQuery(HServerQuery), and not before. An undisposed sink is never collected.

    Handlers are invoked on the thread that dispatches the pipe: the package's callback thread, or the thread that calls RunFrameCallbacks(bool) or performs its own dispatch. When that is not the main thread, calls to Unity APIs must be marshalled to the main thread. Handler exceptions are caught and routed to ExceptionHandler.

    ISteamMatchmakingServerFriendsResponse

    Managed implementation of the C++ ISteamMatchmakingServerFriendsResponse callback sink passed to ServerFriends(uint, ushort, ISteamMatchmakingServerFriendsResponse). One ISteamMatchmakingServerFriendsResponse.AddFriendToListHandler call is made per friend who has played on the server, followed by either ISteamMatchmakingServerFriendsResponse.FriendsRefreshCompleteHandler or ISteamMatchmakingServerFriendsResponse.FriendsFailedToRespondHandler. Dispose it after that call or after CancelServerQuery(HServerQuery), and not before. An undisposed sink is never collected.

    Handlers are invoked on the thread that dispatches the pipe: the package's callback thread, or the thread that calls RunFrameCallbacks(bool) or performs its own dispatch. When that is not the main thread, calls to Unity APIs must be marshalled to the main thread. Handler exceptions are caught and routed to ExceptionHandler.

    ISteamMatchmakingServerListResponse

    Managed implementation of the C++ ISteamMatchmakingServerListResponse callback sink passed to the SteamMatchmakingServers server-list requests. Steam calls it while the request is active, including again after RefreshQuery(HServerListRequest). Dispose it once ISteamMatchmakingServerListResponse.RefreshCompleteHandler has fired, or after CancelQuery(HServerListRequest) or ReleaseRequest(HServerListRequest), and not before. An undisposed sink is never collected.

    Handlers are invoked on the thread that dispatches the pipe: the package's callback thread, or the thread that calls RunFrameCallbacks(bool) or performs its own dispatch. Unlike Subscribe<T>(Action<T>, bool) handlers, they are not forwarded to the main thread, so calls to Unity APIs must be marshalled to it. Handler exceptions are caught and routed to ExceptionHandler.

    InteropHelpers

    Marshalling helpers for the generated wrappers: UTF-8 strings, fixed-size char buffers, SteamParamStringArray_t, and the API-initialization guards.

    InteropHelpers.SteamParamStringArray

    Marshals a string list into a native SteamParamStringArray_t for one call. Because it is a SafeHandle parameter, the marshaller keeps it alive for the whole native call. The generated wrappers construct it inline, so as a plain IntPtr it could be collected while Steam reads it.

    InteropHelpers.UTF8StringHandle

    A null-terminated UTF-8 copy of a string, passed directly to a [DllImport] and freed on Dispose.

    MMKVPMarshaller

    Marshals a MatchMakingKeyValuePair_t[] into the MatchMakingKeyValuePair_t ** the SteamMatchmakingServers server-list requests take: a native array of pointers, each to a native copy of one filter.

    SteamAPI

    Client-side Steam API lifecycle. InitEx(out string, SteamDispatchMode) initializes the API and starts callback dispatch; call it on the main thread so callbacks are delivered there. Shutdown() undoes it.

    SteamApps

    Purpose: interface to app data

    SteamCallResultException

    Thrown when a Steam async call fails to start, is already being awaited, or completes without a usable result, including an IO failure.

    SteamCallbacks

    Steam callbacks and call results: subscribe by generated struct type, await call results as tasks, or receive every message in raw form through a single event. Handlers run on the main thread, or inline on the polling thread when there is no main-thread SynchronizationContext (e.g. headless). On a pipe initialized with External, subscribing and awaiting throw.

    SteamClient

    Purpose: Interface to creating a new steam instance, or to connect to an existing steam instance, whether it's in a different process or is local. For most scenarios this is all handled automatically via SteamAPI_Init(). You'll only need these APIs if you have a more complex versioning scheme, or if you want to implement a multiplexed gameserver where a single process is handling multiple games at once with independent gameserver SteamIDs.

    SteamConfig

    Per-platform native library names and the interop struct pack size.

    SteamFriends

    Purpose: interface to accessing information about individual users, that can be a friend, in a group, on a game server or in a lobby with the local user

    SteamGameServer

    Purpose: Functions for authenticating users via Steam to play on a game server

    SteamGameServerClient

    Purpose: Interface to creating a new steam instance, or to connect to an existing steam instance, whether it's in a different process or is local. For most scenarios this is all handled automatically via SteamAPI_Init(). You'll only need these APIs if you have a more complex versioning scheme, or if you want to implement a multiplexed gameserver where a single process is handling multiple games at once with independent gameserver SteamIDs.

    SteamGameServerHTTP

    Purpose: interface to http client

    SteamGameServerInventory

    Purpose: Steam Inventory query and manipulation API

    SteamGameServerNetworking

    Purpose: Functions for making connections and sending data between clients, traversing NAT's where possible NOTE: This interface is deprecated and may be removed in a future release of the Steamworks SDK. Please see ISteamNetworkingSockets and ISteamNetworkingMessages

    SteamGameServerNetworkingMessages

    The non-connection-oriented interface to send and receive messages (whether they be "clients" or "servers"). ISteamNetworkingSockets is connection-oriented (like TCP), meaning you need to listen and connect, and then you send messages using a connection handle. ISteamNetworkingMessages is more like UDP, in that you can just send messages to arbitrary peers at any time. The underlying connections are established implicitly. Under the hood ISteamNetworkingMessages works on top of the ISteamNetworkingSockets code, so you get the same routing and messaging efficiency. The difference is mainly in your responsibility to explicitly establish a connection and the type of feedback you get about the state of the connection. Both interfaces can do "P2P" communications, and both support both unreliable and reliable messages, fragmentation and reassembly. 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 ISteamNetworkingSockets 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. (See k_ESteamNetworkingConfig_SymmetricConnect.)

    SteamGameServerNetworkingSockets

    Lower level networking API.

    • Connection-oriented API (like TCP, not UDP). When sending and receiving messages, a connection handle is used. (For a UDP-style interface, where the peer is identified by their address with each send/recv call, see ISteamNetworkingMessages.) The typical pattern is for a "server" to "listen" on a "listen socket." A "client" will "connect" to the server, and the server will "accept" the connection. If you have a symmetric situation where either peer may initiate the connection and server/client roles are not clearly defined, check out k_ESteamNetworkingConfig_SymmetricConnect.
    • But unlike TCP, it's message-oriented, not stream-oriented.
    • Mix of reliable and unreliable messages
    • Fragmentation and reassembly
    • Supports connectivity over plain UDP
    • Also supports SDR ("Steam Datagram Relay") connections, which are addressed by the identity of the peer. There is a "P2P" use case and a "hosted dedicated server" use case. Note that neither of the terms "connection" nor "socket" necessarily correspond one-to-one with an underlying UDP socket. An attempt has been made to keep the semantics as similar to the standard socket model when appropriate, but some deviations do exist. See also: ISteamNetworkingMessages, the UDP-style interface. This API might be easier to use, especially when porting existing UDP code.

    SteamGameServerNetworkingUtils

    Misc networking utilities for checking the local networking environment and estimating pings.

    SteamGameServerStats

    Purpose: Functions for authenticating users via Steam to play on a game server

    SteamGameServerUGC

    Purpose: Steam UGC support API

    SteamGameServerUtils

    Purpose: interface to user independent utility functions

    SteamHTMLSurface

    Purpose: Functions for displaying HTML pages and interacting with them

    SteamHTTP

    Purpose: interface to http client

    SteamInput

    Purpose: Steam Input API

    SteamInventory

    Purpose: Steam Inventory query and manipulation API

    SteamMatchmaking

    Purpose: Functions for match making services for clients to get to favorites and to operate on game lobbies.

    SteamMatchmakingServers

    Purpose: Functions for match making services for clients to get to game lists and details

    SteamMusic

    Purpose: Functions to control music playback in the steam client

    SteamNetworking

    Purpose: Functions for making connections and sending data between clients, traversing NAT's where possible NOTE: This interface is deprecated and may be removed in a future release of the Steamworks SDK. Please see ISteamNetworkingSockets and ISteamNetworkingMessages

    SteamNetworkingMessages

    The non-connection-oriented interface to send and receive messages (whether they be "clients" or "servers"). ISteamNetworkingSockets is connection-oriented (like TCP), meaning you need to listen and connect, and then you send messages using a connection handle. ISteamNetworkingMessages is more like UDP, in that you can just send messages to arbitrary peers at any time. The underlying connections are established implicitly. Under the hood ISteamNetworkingMessages works on top of the ISteamNetworkingSockets code, so you get the same routing and messaging efficiency. The difference is mainly in your responsibility to explicitly establish a connection and the type of feedback you get about the state of the connection. Both interfaces can do "P2P" communications, and both support both unreliable and reliable messages, fragmentation and reassembly. 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 ISteamNetworkingSockets 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. (See k_ESteamNetworkingConfig_SymmetricConnect.)

    SteamNetworkingSockets

    Lower level networking API.

    • Connection-oriented API (like TCP, not UDP). When sending and receiving messages, a connection handle is used. (For a UDP-style interface, where the peer is identified by their address with each send/recv call, see ISteamNetworkingMessages.) The typical pattern is for a "server" to "listen" on a "listen socket." A "client" will "connect" to the server, and the server will "accept" the connection. If you have a symmetric situation where either peer may initiate the connection and server/client roles are not clearly defined, check out k_ESteamNetworkingConfig_SymmetricConnect.
    • But unlike TCP, it's message-oriented, not stream-oriented.
    • Mix of reliable and unreliable messages
    • Fragmentation and reassembly
    • Supports connectivity over plain UDP
    • Also supports SDR ("Steam Datagram Relay") connections, which are addressed by the identity of the peer. There is a "P2P" use case and a "hosted dedicated server" use case. Note that neither of the terms "connection" nor "socket" necessarily correspond one-to-one with an underlying UDP socket. An attempt has been made to keep the semantics as similar to the standard socket model when appropriate, but some deviations do exist. See also: ISteamNetworkingMessages, the UDP-style interface. This API might be easier to use, especially when porting existing UDP code.

    SteamNetworkingUtils

    Misc networking utilities for checking the local networking environment and estimating pings.

    SteamParentalSettings

    Wrappers for the Steamworks ISteamParentalSettings interface.

    SteamParties

    Wrappers for the Steamworks ISteamParties interface.

    SteamRemotePlay

    COMPILE_TIME_ASSERT( sizeof( RemotePlayInput_t ) == 64 ); Purpose: Functions to provide information about Steam Remote Play sessions

    SteamRemoteStorage

    Purpose: Functions for accessing, reading and writing files stored remotely and cached locally

    SteamScreenshots

    Purpose: Functions for adding screenshots to the user's screenshot library

    SteamStructLayout

    Checks that StructPackSize, chosen from compile-time platform symbols, matches the pack Valve's binaries use on the running OS (8 on Windows, 4 elsewhere). A mismatch misreads every callback payload without crashing, so InitEx(out string, SteamDispatchMode) refuses to initialize instead.

    SteamTimeline

    Purpose: Steam Timeline API

    SteamUGC

    Purpose: Steam UGC support API

    SteamUser

    Purpose: Functions for accessing and manipulating a steam account associated with one client instance

    SteamUserStats

    Purpose: Functions for accessing stats, achievements, and leaderboard information

    SteamUtils

    Purpose: interface to user independent utility functions

    SteamVideo

    callbacks Purpose: Steam Video API

    gameserveritem_t

    Data describing a single game server, per matchmakingtypes.h. Marshalled out of native memory by ISteamMatchmakingServers.GetServerDetails, so the layout must match the C++ class exactly: with the header's natural alignment the strings are inline UTF-8 char buffers and the total size is 380 bytes. A reference type so a server entry can be absent (null), matching the pointer the native API returns.

    Structs

    AccountID_t

    Wraps the Steamworks AccountID_t handle, a uint.

    ActiveBeaconsUpdated_t

    The list of active beacons may have changed

    AddAppDependencyResult_t

    Purpose: The result of a call to AddAppDependency

    AddUGCDependencyResult_t

    Purpose: The result of a call to AddDependency

    AppId_t

    Wraps the Steamworks AppId_t handle, a uint.

    AppProofOfPurchaseKeyResponse_t

    Purpose: response to RequestAppProofOfPurchaseKey/RequestAllProofOfPurchaseKeys for supporting third-party CD keys, or other proof-of-purchase systems.

    AppResumingFromSuspend_t

    k_iSteamUtilsCallbacks + 15 through 35 are taken

    AssociateWithClanResult_t

    Sent as a reply to AssociateWithClan()

    AvailableBeaconLocationsUpdated_t

    The list of possible Party beacon locations has changed

    AvatarImageLoaded_t

    Purpose: called when an avatar is loaded in from a previous GetLargeFriendAvatar() call if the image wasn't already available

    BroadcastUploadStart_t

    Payload of the Steamworks BroadcastUploadStart_t callback.

    BroadcastUploadStop_t

    Payload of the Steamworks BroadcastUploadStop_t callback.

    CGameID

    An app id, type and mod id packed into 64 bits, per steamclientpublic.h: bits 0-23 app id, 24-31 type, 32-63 mod id. Holds the packed value instead of C++'s bitfield union, so it stays 8 bytes and blittable.

    CSteamID

    A 64-bit Steam id, per steamclientpublic.h: bits 0-31 account id, 32-51 account instance, 52-55 account type, 56-63 universe. Holds the packed value instead of C++'s bitfield union, so it stays 8 bytes and blittable and appears directly in P/Invoke signatures.

    CallbackMsg_t

    structure that contains client callback data see callbacks documentation for more details Internal structure used in manual callback dispatch

    ChangeNumOpenSlotsCallback_t

    Response to ChangeNumOpenSlots call

    CheckFileSignature_t

    callback for CheckFileSignature

    ClanOfficerListResponse_t

    Purpose: marks the return of a request officer list call

    ClientGameServerDeny_t

    Purpose: Sent by the Steam server to the client telling it to disconnect from the specified game server, which it may be in the process of or already connected to. The game client should immediately disconnect upon receiving this message. This can usually occur if the user doesn't have rights to play on the game server.

    ComputeNewPlayerCompatibilityResult_t

    Sent as a reply to ComputeNewPlayerCompatibility()

    CreateBeaconCallback_t

    Response to CreateBeacon request. If successful, the beacon ID is provided.

    CreateItemResult_t

    Purpose: result for ISteamUGC::CreateItem()

    DeleteItemResult_t

    Purpose: The result of a call to DeleteItem

    DepotId_t

    Wraps the Steamworks DepotId_t handle, a uint.

    DlcInstalled_t

    callbacks Purpose: posted after the user gains ownership of DLC & that DLC is installed

    DownloadClanActivityCountsResult_t

    Purpose: a DownloadClanActivityCounts() call has finished

    DownloadItemResult_t

    Purpose: result of DownloadItem(), existing item files can be accessed again

    DurationControl_t

    Purpose: sent for games with enabled anti indulgence / duration control, for enabled users. Lets the game know whether the user can keep playing or whether the game should exit, and returns info about remaining gameplay time. This callback is fired asynchronously in response to timers triggering. It is also fired in response to calls to GetDurationControl().

    EncryptedAppTicketResponse_t

    Purpose: Result from RequestEncryptedAppTicket

    EquippedProfileItemsChanged_t

    Purpose: A user's equipped profile items have changed

    EquippedProfileItems_t

    Purpose:

    FavoritesListAccountsUpdated_t

    used by now obsolete RequestFriendsLobbiesResponse_t enum { k_iCallback = k_iSteamMatchmakingCallbacks + 14 }; used by now obsolete PSNGameBootInviteResult_t enum { k_iCallback = k_iSteamMatchmakingCallbacks + 15 }; Purpose: Result of our request to create a Lobby m_eResult == k_EResultOK on success at this point, the lobby has been joined and is ready for use a LobbyEnter_t callback will also be received (since the local user is joining their own lobby)

    FavoritesListChanged_t

    Callbacks for ISteamMatchmaking (which go through the regular Steam callback registration system) Purpose: a server was added/removed from the favorites list, you should refresh now

    FileDetailsResult_t

    Purpose: response to GetFileDetails

    FilterTextDictionaryChanged_t

    The text filtering dictionary has changed

    FloatingGamepadTextInputDismissed_t

    k_iSteamUtilsCallbacks + 37 is taken The floating on-screen keyboard has been closed

    FriendGameInfo_t

    friend game played information

    FriendRichPresenceUpdate_t

    Purpose: callback indicating updated data about friends rich presence information

    FriendsEnumerateFollowingList_t

    Payload of the Steamworks FriendsEnumerateFollowingList_t callback.

    FriendsGetFollowerCount_t

    Payload of the Steamworks FriendsGetFollowerCount_t callback.

    FriendsGroupID_t

    Wraps the Steamworks FriendsGroupID_t handle, a short.

    FriendsIsFollowing_t

    Payload of the Steamworks FriendsIsFollowing_t callback.

    GCMessageAvailable_t

    callbacks callback notification - A new message is available for reading from the message queue

    GCMessageFailed_t

    callback notification - A message failed to make it to the GC. It may be down temporarily

    GSClientAchievementStatus_t

    NOTE: callback values 4 and 5 are skipped because they are used for old deprecated callbacks, do not reuse them here. client achievement info

    GSClientApprove_t

    callbacks client has been approved to connect to this game server

    GSClientDeny_t

    client has been denied to connection to this game server

    GSClientGroupStatus_t

    send as a reply to RequestUserGroupStatus()

    GSClientKick_t

    request the game server should kick the user

    GSGameplayStats_t

    GS gameplay stats info

    GSPolicyResponse_t

    received when the game server requests to be displayed as secure (VAC protected) m_bSecure is true if the game server should display itself as secure to users, false otherwise

    GSReputation_t

    Sent as a reply to GetServerReputation()

    GSStatsReceived_t

    callbacks Purpose: called when the latests stats and achievements have been received from the server

    GSStatsStored_t

    Purpose: result of a request to store the user stats for a game

    GSStatsUnloaded_t

    Purpose: Callback indicating that a user's stats have been unloaded. Call RequestUserStats again to access stats for this user

    GameConnectedChatJoin_t

    Purpose: a user has joined a clan chat

    GameConnectedChatLeave_t

    Purpose: a user has left the chat we're in

    GameConnectedClanChatMsg_t

    Purpose: a chat message has been received for a clan chat the game has joined

    GameConnectedFriendChatMsg_t

    Purpose: a chat message has been received from a user

    GameLobbyJoinRequested_t

    Purpose: called when the user tries to join a lobby from their friends list game client should attempt to connect to specified lobby when this is received

    GameOverlayActivated_t

    Purpose: posted when game overlay activates or deactivates the game can use this to be pause or resume single player games

    GameRichPresenceJoinRequested_t

    Purpose: called when the user tries to join a game from their friends list rich presence will have been set with the "connect" key which is set here

    GameServerChangeRequested_t

    Purpose: called when the user tries to join a different game server from their friends list game client should attempt to connect to specified server when this is received

    GameWebCallback_t

    Purpose: sent to your game in response to a steam://gamewebcallback/ command

    GamepadTextInputDismissed_t

    k_iSteamUtilsCallbacks + 13 is taken Full Screen gamepad text input has been closed

    GetAppDependenciesResult_t

    Purpose: The result of a call to GetAppDependencies. Callback may be called multiple times until all app dependencies have been returned.

    GetAuthSessionTicketResponse_t

    callback for GetAuthSessionTicket

    GetOPFSettingsResult_t

    Payload of the Steamworks GetOPFSettingsResult_t callback.

    GetTicketForWebApiResponse_t

    callback for GetTicketForWebApi

    GetUserItemVoteResult_t

    Purpose: The result of a call to GetUserItemVote()

    GetVideoURLResult_t

    Payload of the Steamworks GetVideoURLResult_t callback.

    GlobalAchievementPercentagesReady_t

    Purpose: Callback indicating that global achievement percentages are fetched

    GlobalStatsReceived_t

    Purpose: callback indicating global stats have been received. Returned as a result of RequestGlobalStats()

    HAuthTicket

    Wraps the Steamworks HAuthTicket handle, a uint.

    HHTMLBrowser

    Wraps the Steamworks HHTMLBrowser handle, a uint.

    HServerListRequest

    Wraps the Steamworks HServerListRequest handle, a IntPtr.

    HServerQuery

    Wraps the Steamworks HServerQuery handle, a int.

    HSteamListenSocket

    Wraps the Steamworks HSteamListenSocket handle, a uint.

    HSteamNetConnection

    Wraps the Steamworks HSteamNetConnection handle, a uint.

    HSteamNetPollGroup

    Wraps the Steamworks HSteamNetPollGroup handle, a uint.

    HSteamPipe

    Wraps the Steamworks HSteamPipe handle, a int.

    HSteamUser

    Wraps the Steamworks HSteamUser handle, a int.

    HTML_BrowserReady_t

    callbacks Purpose: The browser is ready for use

    HTML_BrowserRestarted_t

    Purpose: The browser has restarted due to an internal failure, use this new handle value

    HTML_CanGoBackAndForward_t

    Purpose: page history status changed on the ability to go backwards and forward

    HTML_ChangedTitle_t

    Purpose: the page has a new title now

    HTML_CloseBrowser_t

    Purpose: The browser has been requested to close due to user interaction (usually from a javascript window.close() call)

    HTML_FileOpenDialog_t

    Purpose: when received show a file open dialog then call FileLoadDialogResponse with the file(s) the user selected.

    HTML_FinishedRequest_t

    Purpose: A page is finished loading

    HTML_HideToolTip_t

    Purpose: hide the tooltip you are showing

    HTML_HorizontalScroll_t

    Purpose: details on the visibility and size of the horizontal scrollbar

    HTML_JSAlert_t

    Purpose: show a Javascript alert dialog, call JSDialogResponse when the user dismisses this dialog (or right away to ignore it)

    HTML_JSConfirm_t

    Purpose: show a Javascript confirmation dialog, call JSDialogResponse when the user dismisses this dialog (or right away to ignore it)

    HTML_LinkAtPosition_t

    Purpose: response to GetLinkAtPosition call

    HTML_NeedsPaint_t

    Purpose: the browser has a pending paint

    HTML_NewWindow_t

    Purpose: a new html window is being created. IMPORTANT NOTE: at this time, the API does not allow you to acknowledge or render the contents of this new window, so the new window is always destroyed immediately. The URL and other parameters of the new window are passed here to give your application the opportunity to call CreateBrowser and set up a new browser in response to the attempted popup, if you wish to do so.

    HTML_OpenLinkInNewTab_t

    Purpose: a request to load this url in a new tab

    HTML_SearchResults_t

    Purpose: results from a search

    HTML_SetCursor_t

    Purpose: change the cursor to display

    HTML_ShowToolTip_t

    Purpose: show a tooltip

    HTML_StartRequest_t

    Purpose: The browser wanted to navigate to a new page NOTE - you MUST call AllowStartRequest in response to this callback

    HTML_StatusText_t

    Purpose: informational message from the browser

    HTML_URLChanged_t

    Purpose: the browser is navigating to a new url

    HTML_UpdateToolTip_t

    Purpose: update the text of an existing tooltip

    HTML_VerticalScroll_t

    Purpose: details on the visibility and size of the vertical scrollbar

    HTTPCookieContainerHandle

    Wraps the Steamworks HTTPCookieContainerHandle handle, a uint.

    HTTPRequestCompleted_t

    callbacks

    HTTPRequestDataReceived_t

    Payload of the Steamworks HTTPRequestDataReceived_t callback.

    HTTPRequestHandle

    Wraps the Steamworks HTTPRequestHandle handle, a uint.

    HTTPRequestHeadersReceived_t

    Payload of the Steamworks HTTPRequestHeadersReceived_t callback.

    IPCFailure_t

    Purpose: called when the callback system for this client is in an error state (and has flushed pending callbacks) When getting this message the client should disconnect from Steam, reset any stored Steam state and reconnect. This usually occurs in the rare event the Steam client has some kind of fatal error.

    IPCountry_t

    callbacks Purpose: The country of the user changed

    InputActionSetHandle_t

    Wraps the Steamworks InputActionSetHandle_t handle, a ulong.

    InputAnalogActionData_t

    The Steamworks InputAnalogActionData_t struct.

    InputAnalogActionHandle_t

    Wraps the Steamworks InputAnalogActionHandle_t handle, a ulong.

    InputDigitalActionData_t

    The Steamworks InputDigitalActionData_t struct.

    InputDigitalActionHandle_t

    Wraps the Steamworks InputDigitalActionHandle_t handle, a ulong.

    InputHandle_t

    Wraps the Steamworks InputHandle_t handle, a ulong.

    InputMotionData_t

    The Steamworks InputMotionData_t struct.

    ItemInstalled_t

    Purpose: a Workshop item has been installed or updated

    JoinClanChatRoomCompletionResult_t

    Purpose: a JoinClanChatRoom() call has finished

    JoinPartyCallback_t

    Steam has responded to the user request to join a party via the given Beacon ID. If successful, the connect string contains game-specific instructions to connect to the game with that party.

    LeaderboardEntry_t

    a single entry in a leaderboard, as returned by GetDownloadedLeaderboardEntry()

    LeaderboardFindResult_t

    Purpose: call result for finding a leaderboard, returned as a result of FindOrCreateLeaderboard() or FindLeaderboard() use CCallResult<> to map this async result to a member function

    LeaderboardScoreUploaded_t

    Purpose: call result indicating scores has been uploaded, returned as a result of UploadLeaderboardScore() use CCallResult<> to map this async result to a member function

    LeaderboardScoresDownloaded_t

    Purpose: call result indicating scores for a leaderboard have been downloaded and are ready to be retrieved, returned as a result of DownloadLeaderboardEntries() use CCallResult<> to map this async result to a member function

    LeaderboardUGCSet_t

    Purpose: call result indicating UGC has been uploaded, returned as a result of SetLeaderboardUGC()

    LicensesUpdated_t

    Purpose: Signaled whenever licenses change

    LobbyChatMsg_t

    Purpose: A chat message for this lobby has been sent use GetLobbyChatEntry( m_iChatID ) to retrieve the contents of this message

    LobbyChatUpdate_t

    Purpose: The lobby chat room state has changed this is usually sent when a user has joined or left the lobby

    LobbyCreated_t

    Purpose: Result of our request to create a Lobby m_eResult == k_EResultOK on success at this point, the lobby has been joined and is ready for use a LobbyEnter_t callback will also be received (since the local user is joining their own lobby)

    LobbyDataUpdate_t

    Purpose: The lobby metadata has changed if m_ulSteamIDMember is the steamID of a lobby member, use GetLobbyMemberData() to access per-user details if m_ulSteamIDMember == m_ulSteamIDLobby, use GetLobbyData() to access lobby metadata

    LobbyEnter_t

    Purpose: Sent on entering a lobby, or on failing to enter m_EChatRoomEnterResponse will be set to k_EChatRoomEnterResponseSuccess on success, or a higher value on failure (see enum EChatRoomEnterResponse)

    LobbyGameCreated_t

    Purpose: A game created a game for all the members of the lobby to join, as triggered by a SetLobbyGameServer() it's up to the individual clients to take action on this; the usual game behavior is to leave the lobby and connect to the specified game server

    LobbyInvite_t

    Purpose: Someone has invited you to join a Lobby normally you don't need to do anything with this, since the Steam UI will also display a '<user> has invited you to the lobby, join?' dialog if the user outside a game chooses to join, your game will be launched with the parameter "+connect_lobby <64-bit lobby id>", or with the callback GameLobbyJoinRequested_t if they're already in-game

    LobbyKicked_t

    Purpose: posted if a user is forcefully removed from a lobby can occur if a user loses connection to Steam

    LobbyMatchList_t

    Purpose: Number of matching lobbies found iterate the returned lobbies with GetLobbyByIndex(), from values 0 to m_nLobbiesMatching-1

    LowBatteryPower_t

    Purpose: Fired when running on a handheld PC or laptop with less than 10 minutes of battery is left, fires then every minute

    MarketEligibilityResponse_t

    Purpose: sent in response to ISteamUser::GetMarketEligibility

    MatchMakingKeyValuePair_t

    Store key/value pair used in matchmaking queries. Actually, the name Key/Value is a bit misleading. The "key" is better understood as "filter operation code" and the "value" is the operand to this filter operation. The meaning of the operand depends upon the filter.

    MicroTxnAuthorizationResponse_t

    Purpose: called when a user has responded to a microtransaction authorization request

    NewUrlLaunchParameters_t

    Purpose: posted after the user gains executes a Steam URL with command line or query parameters such as steam://run/<appid>//-commandline/?param1=value1&param2=value2&param3=value3 etc while the game is already running. The new params can be queried with GetLaunchQueryParam and GetLaunchCommandLine

    NumberOfCurrentPlayers_t

    Payload of the Steamworks NumberOfCurrentPlayers_t callback.

    OverlayBrowserProtocolNavigation_t

    Purpose: Dispatched when an overlay browser instance is navigated to a protocol/scheme registered by RegisterProtocolInOverlayBrowser()

    P2PSessionConnectFail_t

    callback notification - packets can't get through to the specified user via the SendP2PPacket() API all packets queued packets unsent at this point will be dropped further attempts to send will retry making the connection (but will be dropped if we fail again)

    P2PSessionRequest_t

    callbacks callback notification - a user wants to talk to us over the P2P channel via the SendP2PPacket() API in response, a call to AcceptP2PPacketsFromUser() needs to be made, if you want to talk with them

    P2PSessionState_t

    connection state to a specified user, returned by GetP2PSessionState() this is under-the-hood info about what's going on with a SendP2PPacket(), shouldn't be needed except for debuggin

    PartyBeaconID_t

    Wraps the Steamworks PartyBeaconID_t handle, a ulong.

    PersonaStateChange_t

    callbacks Purpose: called when a friends' status changes

    PlaybackStatusHasChanged_t

    callbacks

    PublishedFileId_t

    Wraps the Steamworks PublishedFileId_t handle, a ulong.

    PublishedFileUpdateHandle_t

    Wraps the Steamworks PublishedFileUpdateHandle_t handle, a ulong.

    RTime32

    Wraps the Steamworks RTime32 handle, a uint.

    RemotePlayCursorID_t

    Wraps the Steamworks RemotePlayCursorID_t handle, a uint.

    RemotePlayInputKey_t

    Key event data, valid when m_eType is k_ERemotePlayInputKeyDown or k_ERemotePlayInputKeyUp

    RemotePlayInputMouseMotion_t

    Mouse motion event data, valid when m_eType is k_ERemotePlayInputMouseMotion

    RemotePlayInputMouseWheel_t

    Mouse wheel event data, valid when m_eType is k_ERemotePlayInputMouseWheel

    RemotePlayInput_t

    A Remote Play input event, as defined in isteamremoteplay.h and filled in by GetInput(RemotePlayInput_t[], uint). m_eType indicates which payload in m_val is valid.

    RemotePlayInput_t.OptionValue

    The C++ union of per-event payloads; read the one m_eType names.

    RemotePlaySessionID_t

    Wraps the Steamworks RemotePlaySessionID_t handle, a uint.

    RemoteStorageDeletePublishedFileResult_t

    k_iSteamRemoteStorageCallbacks + 10 is deprecated! Do not reuse Purpose: The result of a call to DeletePublishedFile()

    RemoteStorageDownloadUGCResult_t

    Purpose: The result of a call to UGCDownload()

    RemoteStorageEnumeratePublishedFilesByUserActionResult_t

    Payload of the Steamworks RemoteStorageEnumeratePublishedFilesByUserActionResult_t callback.

    RemoteStorageEnumerateUserPublishedFilesResult_t

    Purpose: The result of a call to EnumerateUserPublishedFiles()

    RemoteStorageEnumerateUserSharedWorkshopFilesResult_t

    Payload of the Steamworks RemoteStorageEnumerateUserSharedWorkshopFilesResult_t callback.

    RemoteStorageEnumerateUserSubscribedFilesResult_t

    Purpose: The result of a call to EnumerateSubscribePublishedFiles()

    RemoteStorageEnumerateWorkshopFilesResult_t

    Payload of the Steamworks RemoteStorageEnumerateWorkshopFilesResult_t callback.

    RemoteStorageFileReadAsyncComplete_t

    Purpose: Called when a FileReadAsync completes

    RemoteStorageFileShareResult_t

    callbacks Purpose: The result of a call to FileShare()

    RemoteStorageFileWriteAsyncComplete_t

    Purpose: Called when a FileWriteAsync completes

    RemoteStorageGetPublishedFileDetailsResult_t

    Purpose: The result of a call to GetPublishedFileDetails()

    RemoteStorageGetPublishedItemVoteDetailsResult_t

    Purpose: The result of GetPublishedItemVoteDetails

    RemoteStorageLocalFileChange_t

    Purpose: one or more files for this app have changed locally after syncing to remote session changes Note: only posted if this happens DURING the local app session

    RemoteStoragePublishFileProgress_t

    Purpose: Called periodically while a PublishWorkshopFile is in progress

    RemoteStoragePublishFileResult_t

    k_iSteamRemoteStorageCallbacks + 8 is deprecated! Do not reuse Purpose: The result of a call to PublishFile()

    RemoteStoragePublishedFileDeleted_t

    Purpose: Published file that a user owns was deleted (from within the app or the web)

    RemoteStoragePublishedFileSubscribed_t

    Purpose: User subscribed to a file for the app (from within the app or on the web)

    RemoteStoragePublishedFileUnsubscribed_t

    Purpose: User unsubscribed from a file for the app (from within the app or on the web)

    RemoteStoragePublishedFileUpdated_t

    Purpose: Called when the content for a published file is updated

    RemoteStorageSetUserPublishedFileActionResult_t

    Payload of the Steamworks RemoteStorageSetUserPublishedFileActionResult_t callback.

    RemoteStorageSubscribePublishedFileResult_t

    Purpose: The result of a call to SubscribePublishedFile()

    RemoteStorageUnsubscribePublishedFileResult_t

    Purpose: The result of a call to UnsubscribePublishedFile()

    RemoteStorageUpdatePublishedFileResult_t

    Purpose: The result of a call to CommitPublishedFileUpdate()

    RemoteStorageUpdateUserPublishedItemVoteResult_t

    Purpose: The result of a call to UpdateUserPublishedItemVote()

    RemoteStorageUserVoteDetails_t

    Purpose: The result of a call to GetUserPublishedItemVoteDetails()

    RemoveAppDependencyResult_t

    Purpose: The result of a call to RemoveAppDependency

    RemoveUGCDependencyResult_t

    Purpose: The result of a call to RemoveDependency

    ReservationNotificationCallback_t

    Someone has used the beacon to join your party - they are in-flight now and we've reserved one of the open slots for them. You should confirm when they join your party by calling OnReservationCompleted(). Otherwise, Steam may timeout their reservation eventually.

    SNetListenSocket_t

    Wraps the Steamworks SNetListenSocket_t handle, a uint.

    SNetSocket_t

    Wraps the Steamworks SNetSocket_t handle, a uint.

    ScreenshotHandle

    Wraps the Steamworks ScreenshotHandle handle, a uint.

    ScreenshotReady_t

    callbacks Purpose: Screenshot successfully written or otherwise added to the library and can now be tagged

    ScreenshotRequested_t

    Purpose: Screenshot has been requested by the user. Only sent if HookScreenshots() has been called, in which case Steam will not take the screenshot itself.

    SetUserItemVoteResult_t

    Purpose: The result of a call to SetUserItemVote()

    SocketStatusCallback_t

    callback notification - status of a socket has changed used as part of the CreateListenSocket() / CreateP2PConnectionSocket()

    StartPlaytimeTrackingResult_t

    Purpose: The result of a call to StartPlaytimeTracking()

    SteamAPICallCompleted_t

    Purpose: called when a SteamAsyncCall_t has completed (or failed)

    SteamAPICall_t

    Wraps the Steamworks SteamAPICall_t handle, a ulong.

    SteamCallbackMessage

    A raw Steam callback as delivered to the OnCallback event. Payload points into a dispatcher-owned buffer that is valid only during the handler call: decode it there with As<T>() and copy out any data that must outlive the call.

    SteamDatagramGameCoordinatorServerLogin

    The Steamworks SteamDatagramGameCoordinatorServerLogin struct.

    SteamDatagramHostedAddress

    Network-routable identifier for a service hosted behind the Steam Datagram Relay. The blob is deliberately opaque: the relays know how to route it, and clients should not inspect its contents.

    SteamDatagramRelayAuthTicket

    A parsed Steam Datagram Relay auth ticket, filled in by ReceivedRelayAuthTicket(IntPtr, int, out SteamDatagramRelayAuthTicket) and FindRelayAuthTicketForServer(ref SteamNetworkingIdentity, int, out SteamDatagramRelayAuthTicket). Treat it as read-only: tickets are generated and signed on the game's backend.

    SteamIPAddress_t

    An IPv4 or IPv6 address, as defined in steamtypes.h. m_eType indicates which is valid. Read and write the IPv6 bytes with GetIPv6() and SetIPv6(byte[]).

    SteamInputActionEvent_t

    A controller action state change, passed to the SteamInputActionEventCallbackPointer installed with EnableActionEventCallbacks(SteamInputActionEventCallbackPointer). eEventType indicates which payload in m_val is valid.

    SteamInputActionEvent_t.AnalogAction_t

    The payload of an analog action event.

    SteamInputActionEvent_t.DigitalAction_t

    The payload of a digital action event.

    SteamInputActionEvent_t.OptionValue

    The C++ union of the two payloads; read the one eEventType names.

    SteamInputConfigurationLoaded_t

    Purpose: called when a controller configuration has been loaded, will fire once per controller per focus change for Steam Input enabled controllers

    SteamInputDeviceConnected_t

    Purpose: called when a new controller has been connected, will fire once per controller if multiple new controllers connect in the same frame

    SteamInputDeviceDisconnected_t

    Purpose: called when a new controller has been connected, will fire once per controller if multiple new controllers connect in the same frame

    SteamInputGamepadSlotChange_t

    Purpose: called when controller gamepad slots change - on Linux/macOS these slots are shared for all running apps.

    SteamInventoryDefinitionUpdate_t

    A SteamInventoryDefinitionUpdate_t callback is triggered whenever item definitions have been updated, which could be in response to LoadItemDefinitions() or any other async request which required a definition update in order to process results from the server.

    SteamInventoryEligiblePromoItemDefIDs_t

    Returned

    SteamInventoryFullUpdate_t

    SteamInventoryFullUpdate_t callbacks are triggered when GetAllItems successfully returns a result which is newer / fresher than the last known result. (It will not trigger if the inventory hasn't changed, or if results from two overlapping calls are reversed in flight and the earlier result is already known to be stale/out-of-date.) The normal ResultReady callback will still be triggered immediately afterwards; this is an additional notification for your convenience.

    SteamInventoryRequestPricesResult_t

    Triggered from RequestPrices

    SteamInventoryResultReady_t

    SteamInventoryResultReady_t callbacks are fired whenever asynchronous results transition from "Pending" to "OK" or an error state. There will always be exactly one callback per handle.

    SteamInventoryResult_t

    Wraps the Steamworks SteamInventoryResult_t handle, a int.

    SteamInventoryStartPurchaseResult_t

    Triggered from StartPurchase call

    SteamInventoryUpdateHandle_t

    Wraps the Steamworks SteamInventoryUpdateHandle_t handle, a ulong.

    SteamItemDef_t

    Wraps the Steamworks SteamItemDef_t handle, a int.

    SteamItemDetails_t

    The Steamworks SteamItemDetails_t struct.

    SteamItemInstanceID_t

    Wraps the Steamworks SteamItemInstanceID_t handle, a ulong.

    SteamLeaderboardEntries_t

    Wraps the Steamworks SteamLeaderboardEntries_t handle, a ulong.

    SteamLeaderboard_t

    Wraps the Steamworks SteamLeaderboard_t handle, a ulong.

    SteamNetAuthenticationStatus_t

    A struct used to describe our readiness to participate in authenticated, encrypted communication. In order to do this we need:

    • The list of trusted CA certificates that might be relevant for this app.
    • A valid certificate issued by a CA. This callback is posted whenever the state of our readiness changes.

    SteamNetConnectionInfo_t

    Describe the state of a connection.

    SteamNetConnectionRealTimeLaneStatus_t

    Quick status of a particular lane

    SteamNetConnectionRealTimeStatus_t

    Quick connection state, pared down to something you could call more frequently without it being too big of a perf hit.

    SteamNetConnectionStatusChangedCallback_t

    Callback struct used to notify when a connection has changed state This callback is posted whenever a connection is created, destroyed, or changes state. The m_info field will contain a complete description of the connection at the time the change occurred and the callback was posted. In particular, m_eState will have the new connection state. You will usually need to listen for this callback to know when:

    • A new connection arrives on a listen socket. m_info.m_hListenSocket will be set, m_eOldState = k_ESteamNetworkingConnectionState_None, and m_info.m_eState = k_ESteamNetworkingConnectionState_Connecting. See ISteamNetworkigSockets::AcceptConnection.
    • A connection you initiated has been accepted by the remote host. m_eOldState = k_ESteamNetworkingConnectionState_Connecting, and m_info.m_eState = k_ESteamNetworkingConnectionState_Connected. Some connections might transition to k_ESteamNetworkingConnectionState_FindingRoute first.
    • A connection has been actively rejected or closed by the remote host. m_eOldState = k_ESteamNetworkingConnectionState_Connecting or k_ESteamNetworkingConnectionState_Connected, and m_info.m_eState = k_ESteamNetworkingConnectionState_ClosedByPeer. m_info.m_eEndReason and m_info.m_szEndDebug will have for more details. NOTE: upon receiving this callback, you must still destroy the connection using ISteamNetworkingSockets::CloseConnection to free up local resources. (The details passed to the function are not used in this case, since the connection is already closed.)
    • A problem was detected with the connection, and it has been closed by the local host. The most common failure is timeout, but other configuration or authentication failures can cause this. m_eOldState = k_ESteamNetworkingConnectionState_Connecting or k_ESteamNetworkingConnectionState_Connected, and m_info.m_eState = k_ESteamNetworkingConnectionState_ProblemDetectedLocally. m_info.m_eEndReason and m_info.m_szEndDebug will have for more details. NOTE: upon receiving this callback, you must still destroy the connection using ISteamNetworkingSockets::CloseConnection to free up local resources. (The details passed to the function are not used in this case, since the connection is already closed.) Remember that callbacks are posted to a queue, and networking connections can change at any time. It is possible that the connection has already changed state by the time you process this callback. Also note that callbacks will be posted when connections are created and destroyed by your own API calls.

    SteamNetworkPingLocation_t

    Ping location / measurement Object that describes a "location" on the Internet with sufficient detail that we can reasonably estimate an upper bound on the ping between the two hosts, even if a direct route between the hosts is not possible, and the connection must be routed through the Steam Datagram Relay network. This does not contain any information that identifies the host. Indeed, if two hosts are in the same building or otherwise have nearly identical networking characteristics, then it's valid to use the same location object for both of them. NOTE: This object should only be used in the same process! Do not serialize it, send it over the wire, or persist it in a file or database! If you need to do that, convert it to a string representation using the methods in ISteamNetworkingUtils().

    SteamNetworkingConfigValue_t

    One configuration option passed to a listen-socket or connection creation call (e.g. CreateListenSocketIP(ref SteamNetworkingIPAddr, int, SteamNetworkingConfigValue_t[])). Options passed at creation apply before the object does anything, which setting them right after creation cannot guarantee.

    SteamNetworkingConfigValue_t.OptionValue

    The C++ union of possible values: every member overlays the same 8 bytes, and m_eDataType names the live one.

    SteamNetworkingErrMsg

    The C++ char[k_cchMaxSteamNetworkingErrMsg] buffer (1024 bytes) that Steam fills with an English diagnostic message, meant for logs rather than UI. Read it with ToString().

    SteamNetworkingFakeIPResult_t

    Callback struct used to notify when a connection has changed state A struct used to describe a "fake IP" we have been assigned to use as an identifier. This callback is posted when ISteamNetworkingSoockets::BeginAsyncRequestFakeIP completes. See also ISteamNetworkingSockets::GetFakeIP

    SteamNetworkingIPAddr

    An IP address and port. The address is always stored as IPv6, with IPv4 as an IPv4-mapped address (RFC 4291 §2.5.5.2: aa.bb.cc.dd is ::ffff:aabb:ccdd). Packed to 1 like the C++ struct, so it is exactly 18 bytes: 16 address bytes, then the port. Methods call the SDK's flat accessors, so they behave exactly like the C++ ones.

    SteamNetworkingIdentity

    The identity of a network host: a SteamID, IP address, generic string or bytes, and so on. Every identity has a string form (see ToString()), which is what goes on the wire in several places, so older code can carry identity types it does not understand. The payload is not exposed as fields: read and write it through the methods.

    SteamNetworkingMessage_t

    A network message. Message objects always live in native memory and are handed out as pointers (e.g. by ReceiveMessagesOnConnection(HSteamNetConnection, IntPtr[], int)). Read one with FromIntPtr(IntPtr), and pass the original pointer to Release(IntPtr) when finished. Every message must be released.

    SteamNetworkingMessagesSessionFailed_t

    Posted when we fail to establish a connection, or we detect that communications have been disrupted it an unusual way. There is no notification when a peer proactively closes the session. ("Closed by peer" is not a concept of UDP-style communications, and SteamNetworkingMessages is primarily intended to make porting UDP code easy.) Remember: callbacks are asynchronous. See notes on SendMessageToUser, and k_nSteamNetworkingSend_AutoRestartBrokenSession in particular. Also, if a session times out due to inactivity, no callbacks will be posted. The only way to detect that this is happening is that querying the session state may return none, connecting, and findingroute again.

    SteamNetworkingMessagesSessionRequest_t

    Callbacks Posted when a remote host is sending us a message, and we do not already have a session with them

    SteamNetworkingMicroseconds

    Wraps the Steamworks SteamNetworkingMicroseconds handle, a long.

    SteamNetworkingPOPID

    Wraps the Steamworks SteamNetworkingPOPID handle, a uint.

    SteamParamStringArray_t

    Purpose: Structure that contains an array of const char * strings and the number of those strings

    SteamParentalSettingsChanged_t

    Purpose: Callback for querying UGC

    SteamPartyBeaconLocation_t

    The Steamworks SteamPartyBeaconLocation_t struct.

    SteamRelayNetworkStatus_t

    A struct used to describe our readiness to use the relay network. To do this we first need to fetch the network configuration, which describes what POPs are available.

    SteamRemotePlaySessionAvatarLoaded_t

    Payload of the Steamworks SteamRemotePlaySessionAvatarLoaded_t callback.

    SteamRemotePlaySessionConnected_t

    callbacks

    SteamRemotePlaySessionDisconnected_t

    Payload of the Steamworks SteamRemotePlaySessionDisconnected_t callback.

    SteamRemotePlayTogetherGuestInvite_t

    Payload of the Steamworks SteamRemotePlayTogetherGuestInvite_t callback.

    SteamServerConnectFailure_t

    Purpose: called when a connection attempt has failed this will occur periodically if the Steam client is not connected, and has failed in it's retry to establish a connection

    SteamServersConnected_t

    callbacks Purpose: Called when an authenticated connection to the Steam back-end has been established. This means the Steam client now has a working connection to the Steam servers. Usually this will have occurred before the game has launched, and should only be seen if the user has dropped connection due to a networking issue or a Steam server update.

    SteamServersDisconnected_t

    Purpose: called if the client has lost connection to the Steam servers real-time services will be disabled until a matching SteamServersConnected_t has been posted

    SteamShutdown_t

    called when Steam wants to shutdown

    SteamTimelineEventRecordingExists_t

    Purpose: Callback for querying UGC

    SteamTimelineGamePhaseRecordingExists_t

    Purpose: Callback for querying UGC

    SteamUGCDetails_t

    Details for a single published file/UGC

    SteamUGCQueryCompleted_t

    Purpose: Callback for querying UGC

    SteamUGCRequestUGCDetailsResult_t

    Purpose: Callback for requesting details on one piece of UGC

    StopPlaytimeTrackingResult_t

    Purpose: The result of a call to StopPlaytimeTracking()

    StoreAuthURLResponse_t

    Purpose: sent to your game in response to ISteamUser::RequestStoreAuthURL

    SubmitItemUpdateResult_t

    Purpose: result for ISteamUGC::SubmitItemUpdate()

    TimedTrialStatus_t

    Purpose: called for games in Timed Trial mode

    TimelineEventHandle_t

    Wraps the Steamworks TimelineEventHandle_t handle, a ulong.

    UGCFileWriteStreamHandle_t

    Wraps the Steamworks UGCFileWriteStreamHandle_t handle, a ulong.

    UGCHandle_t

    Wraps the Steamworks UGCHandle_t handle, a ulong.

    UGCQueryHandle_t

    Wraps the Steamworks UGCQueryHandle_t handle, a ulong.

    UGCUpdateHandle_t

    Wraps the Steamworks UGCUpdateHandle_t handle, a ulong.

    UnreadChatMessagesChanged_t

    Purpose: Invoked when the status of unread messages changes

    UserAchievementIconFetched_t

    Purpose: Callback indicating that an achievement icon has been fetched

    UserAchievementStored_t

    Purpose: result of a request to store the achievements for a game, or an "indicate progress" call. If both m_nCurProgress and m_nMaxProgress are zero, that means the achievement has been fully unlocked.

    UserFavoriteItemsListChanged_t

    Purpose: result of AddItemToFavorites() or RemoveItemFromFavorites()

    UserStatsReceived_t

    callbacks Purpose: called when the latests stats and achievements have been received from the server

    UserStatsStored_t

    Purpose: result of a request to store the user stats for a game

    UserStatsUnloaded_t

    Purpose: Callback indicating that a user's stats have been unloaded. Call RequestUserStats again to access stats for this user

    UserSubscribedItemsListChanged_t

    Purpose: signal that the list of subscribed items changed

    ValidateAuthTicketResponse_t

    callback for BeginAuthSession

    VolumeHasChanged_t

    Payload of the Steamworks VolumeHasChanged_t callback.

    WorkshopEULAStatus_t

    Purpose: Status of the user's acceptable/rejection of the app's specific Workshop EULA

    servernetadr_t

    A game server's IPv4 address, connection port and query port, as the server browser reports them.

    Enums

    AudioPlayback_Status

    Purpose:

    CGameID.EGameIDType

    The kind of entity a CGameID identifies.

    EAccountType

    Steam account types

    EActivateGameOverlayToWebPageMode

    Purpose: Tells Steam where to place the browser window inside the overlay

    EAuthSessionResponse

    Callback values for callback ValidateAuthTicketResponse_t which is a response to BeginAuthSession

    EBeginAuthSessionResult

    results from BeginAuthSession

    EBetaBranchFlags

    The Steamworks EBetaBranchFlags enumeration.

    EBroadcastUploadResult

    Purpose: Broadcast upload result details

    EChatEntryType

    Purpose: Chat Entry Types (previously was only friend-to-friend message types)

    EChatMemberStateChange

    Purpose: Used in ChatInfo messages - fields specific to a chat member - must fit in a uint32

    EChatRoomEnterResponse

    Purpose: Chat Room Enter Responses

    EChatSteamIDInstanceFlags

    Special flags for Chat accounts - they go in the top 8 bits of the steam ID's "instance", leaving 12 for the actual instances

    ECheckFileSignature

    results for CheckFileSignature

    ECommunityProfileItemProperty

    The Steamworks ECommunityProfileItemProperty enumeration.

    ECommunityProfileItemType

    Purpose: See GetProfileItemPropertyString and GetProfileItemPropertyUint

    EControllerActionOrigin

    The Steamworks EControllerActionOrigin enumeration.

    EControllerHapticLocation

    Only used in the Legacy haptic call family (Steam Input api). For modern haptic locations we are using ESteamControllerPad.

    EControllerHapticType

    The Steamworks EControllerHapticType enumeration.

    EDenyReason

    Result codes to GSHandleClientDeny/Kick

    EDurationControlNotification

    describes which notification timer has expired, for steam china duration control feature WARNING: DO NOT RENUMBER

    EDurationControlOnlineState

    Specifies a game's online state in relation to duration control

    EDurationControlProgress

    describes XP / progress restrictions to apply for games with duration control / anti-indulgence enabled for minor Steam China users. WARNING: DO NOT RENUMBER

    EFailureType

    The Steamworks EFailureType enumeration.

    EFloatingGamepadTextInputMode

    The Steamworks EFloatingGamepadTextInputMode enumeration.

    EFriendFlags

    Purpose: flags for enumerating friends list, or quickly checking a the relationship between users

    EFriendRelationship

    Purpose: set of relationships to other users

    EGCResults

    list of possible return values from the ISteamGameCoordinator API

    EGamePerformanceSetting

    Games can specify what settings the user has selected or has been selected by default based on the user's machine.

    EGamepadTextInputLineMode

    Controls number of allowed lines for the Big Picture gamepad text entry

    EGamepadTextInputMode

    Input modes for the Big Picture gamepad text entry

    EHTMLKeyModifiers

    The Steamworks EHTMLKeyModifiers enumeration.

    EHTMLMouseButton

    The Steamworks EHTMLMouseButton enumeration.

    EHTMLMouseCursor

    The Steamworks EHTMLMouseCursor enumeration.

    EHTTPMethod

    HTTP related types This enum is used in client API methods, do not re-number existing values.

    EHTTPStatusCode

    HTTP Status codes that the server can send in response to a request, see rfc2616 section 10.3 for descriptions of each of these.

    EInputActionOrigin

    Note: Please do not use action origins as a way to identify controller types. There is no guarantee that they will be added in a contiguous manner - use GetInputTypeForHandle instead. Versions of Steam that add new controller types in the future will extend this enum so if you're using a lookup table please check the bounds of any origins returned by Steam.

    EInputSourceMode

    The Steamworks EInputSourceMode enumeration.

    EItemPreviewType

    The Steamworks EItemPreviewType enumeration.

    EItemState

    The Steamworks EItemState enumeration.

    EItemStatistic

    The Steamworks EItemStatistic enumeration.

    EItemUpdateStatus

    The Steamworks EItemUpdateStatus enumeration.

    ELeaderboardDataRequest

    type of data request, when downloading leaderboard entries

    ELeaderboardDisplayType

    the display type (used by the Steam Community web site) for a leaderboard

    ELeaderboardSortMethod

    the sort order of a leaderboard

    ELeaderboardUploadScoreMethod

    The Steamworks ELeaderboardUploadScoreMethod enumeration.

    ELobbyComparison

    lobby search filter tools

    ELobbyDistanceFilter

    lobby search distance. Lobby results are sorted from closest to farthest.

    ELobbyType

    lobby type description

    EMarketNotAllowedReasonFlags

    Purpose: Reasons a user may not use the Community Market. Used in MarketEligibilityResponse_t.

    EMatchMakingServerResponse

    The Steamworks EMatchMakingServerResponse enumeration.

    ENotificationPosition

    Purpose: Possible positions to tell the overlay to show notifications in

    EOverlayToStoreFlag

    These values are passed as parameters to the store

    EP2PSend

    SendP2PPacket() send types Typically k_EP2PSendUnreliable is what you want for UDP-like packets, k_EP2PSendReliable for TCP-like packets

    EP2PSessionError

    list of possible errors returned by SendP2PPacket() API these will be posted in the P2PSessionConnectFail_t callback

    EParentalFeature

    Feature types for parental settings These end up in a 32-bit bitfield so we're limited on how many we can have.

    EPersonaChange

    used in PersonaStateChange_t::m_nChangeFlags to describe what's changed about a user these flags describe what the client has learned has changed recently, so on startup you'll see a name, avatar & relationship change for every friend

    EPersonaState

    Purpose: list of states a friend can be in

    ERemotePlayInputType

    Purpose: The type of input in ERemotePlayInput_t

    ERemotePlayKeyModifier

    Purpose: Key modifier in ERemotePlayInput_t

    ERemotePlayMouseButton

    Purpose: Mouse buttons in ERemotePlayInput_t

    ERemotePlayMouseWheelDirection

    Purpose: Mouse wheel direction in ERemotePlayInput_t

    ERemotePlayScancode

    Purpose: Key scancode in ERemotePlayInput_t This is a USB scancode value as defined for the Keyboard/Keypad Page (0x07) This enumeration isn't a complete list, just the most commonly used keys.

    ERemoteStorageFilePathType

    The Steamworks ERemoteStorageFilePathType enumeration.

    ERemoteStorageLocalFileChange

    The Steamworks ERemoteStorageLocalFileChange enumeration.

    ERemoteStoragePlatform

    The Steamworks ERemoteStoragePlatform enumeration.

    ERemoteStoragePublishedFileVisibility

    The Steamworks ERemoteStoragePublishedFileVisibility enumeration.

    EResult

    General result codes

    ESNetSocketConnectionType

    describes how the socket is currently connected

    ESNetSocketState

    connection progress indicators, used by CreateP2PConnectionSocket()

    EServerMode

    The Steamworks EServerMode enumeration.

    ESteamAPICallFailure

    Steam API call failure results

    ESteamAPIInitResult

    ----------------------------------------------------------------------------------------------------------------------------------------------------------// Steam API setup & shutdown These functions manage loading, initializing and shutdown of the steamclient.dll ----------------------------------------------------------------------------------------------------------------------------------------------------------//

    ESteamControllerLEDFlag

    The Steamworks ESteamControllerLEDFlag enumeration.

    ESteamControllerPad

    The Steamworks ESteamControllerPad enumeration.

    ESteamDeviceFormFactor

    Purpose: The form factor of a device

    ESteamHardwareDefaultConfig

    Default game settings profile

    ESteamHardwareType

    Steam device list

    ESteamIPType

    The Steamworks ESteamIPType enumeration.

    ESteamIPv6ConnectivityProtocol

    The Steamworks ESteamIPv6ConnectivityProtocol enumeration.

    ESteamIPv6ConnectivityState

    For the above transport protocol, what do we think the local machine's connectivity to the internet over ipv6 is like

    ESteamInputActionEventType

    The Steamworks ESteamInputActionEventType enumeration.

    ESteamInputConfigurationEnableType

    Individual values are used by the GetSessionInputConfigurationSettings bitmask

    ESteamInputGlyphSize

    These values are passed into GetGlyphPNGForActionOrigin

    ESteamInputGlyphStyle

    The Steamworks ESteamInputGlyphStyle enumeration.

    ESteamInputLEDFlag

    These values are passed into SetLEDColor

    ESteamInputType

    The Steamworks ESteamInputType enumeration.

    ESteamItemFlags

    The Steamworks ESteamItemFlags enumeration.

    ESteamNetConnectionEnd

    Enumerate various causes of connection termination. These are designed to work similar to HTTP error codes: the numeric range gives you a rough classification as to the source of the problem.

    ESteamNetworkingAvailability

    Describe the status of a particular network resource

    ESteamNetworkingConfigDataType

    Different configuration values have different data types

    ESteamNetworkingConfigScope

    Configuration values Configuration values can be applied to different types of objects.

    ESteamNetworkingConfigValue

    Configuration options

    ESteamNetworkingConnectionState

    Connection status High level connection status

    ESteamNetworkingFakeIPType

    "Fake IPs" are assigned to hosts, to make it easier to interface with older code that assumed all hosts will have an IPv4 address

    ESteamNetworkingGetConfigValueResult

    Return value of ISteamNetworkintgUtils::GetConfigValue

    ESteamNetworkingIdentityType

    Describing network hosts Different methods of describing the identity of a network host

    ESteamNetworkingSocketsDebugOutputType

    Debug output Detail level for diagnostic output callback. See ISteamNetworkingUtils::SetDebugOutputFunction

    ESteamPartyBeaconLocationData

    The Steamworks ESteamPartyBeaconLocationData enumeration.

    ESteamPartyBeaconLocationType

    Purpose: Functions for quickly creating a Party with friends or acquaintances, EG from chat rooms.

    ETextFilteringContext

    The context where text filtering is being done

    ETimelineEventClipPriority

    Used in AddTimelineEvent, where Featured events will be offered before Standard events

    ETimelineGameMode

    callbacks Controls the color of the timeline bar segments. The value names listed here map to a multiplayer game, where the user starts a game (in menus), then joins a multiplayer session that first has a character selection lobby then finally the multiplayer session starts. However, you can also map these values to any type of game. In a single player game where you visit towns & dungeons, you could set k_ETimelineGameMode_Menus when the player is in a town buying items, k_ETimelineGameMode_Staging for when a dungeon is loading and k_ETimelineGameMode_Playing for when inside the dungeon fighting monsters.

    EUGCContentDescriptorID

    The Steamworks EUGCContentDescriptorID enumeration.

    EUGCMatchingUGCType

    Matching UGC types for queries

    EUGCQuery

    Combination of sorting and filtering for queries across all UGC

    EUGCReadAction

    The Steamworks EUGCReadAction enumeration.

    EUniverse

    Steam universes. Each universe is a self-contained Steam instance.

    EUserHasLicenseForAppResult

    results from UserHasLicenseForApp

    EUserUGCList

    Different lists of published UGC for a user. If the current logged in user is different than the specified user, then some options may not be allowed.

    EUserUGCListSortOrder

    Sort order for user published UGC lists (defaults to creation order descending)

    EVRScreenshotType

    The Steamworks EVRScreenshotType enumeration.

    EVoiceResult

    Error codes for use with the voice functions

    EWorkshopEnumerationType

    The Steamworks EWorkshopEnumerationType enumeration.

    EWorkshopFileAction

    The Steamworks EWorkshopFileAction enumeration.

    EWorkshopFileType

    The Steamworks EWorkshopFileType enumeration.

    EWorkshopVideoProvider

    The Steamworks EWorkshopVideoProvider enumeration.

    EWorkshopVote

    The Steamworks EWorkshopVote enumeration.

    EXboxOrigin

    The Steamworks EXboxOrigin enumeration.

    SteamDispatchMode

    Who reads a Steam pipe's callbacks after initialization.

    Delegates

    FSteamNetworkingSocketsDebugOutput

    Receives debug output from SteamNetworkingSockets. Install it, together with the verbosity level, through SetDebugOutputFunction(ESteamNetworkingSocketsDebugOutputType, FSteamNetworkingSocketsDebugOutput). May be called from any thread.

    The target must be a static method marked [AOT.MonoPInvokeCallback(typeof(FSteamNetworkingSocketsDebugOutput))]: IL2CPP only generates a native-callable wrapper for such methods, and without one the call fails at runtime, not at build time. Catch every exception in the handler. An exception that unwinds into Steam causes undefined behavior.

    FnSteamNetAuthenticationStatusChanged

    The Steamworks FnSteamNetAuthenticationStatusChanged callback function pointer.

    FnSteamNetConnectionStatusChanged

    The Steamworks FnSteamNetConnectionStatusChanged callback function pointer.

    FnSteamNetworkingFakeIPResult

    The Steamworks FnSteamNetworkingFakeIPResult callback function pointer.

    FnSteamNetworkingMessagesSessionFailed

    The Steamworks FnSteamNetworkingMessagesSessionFailed callback function pointer.

    FnSteamNetworkingMessagesSessionRequest

    The Steamworks FnSteamNetworkingMessagesSessionRequest callback function pointer.

    FnSteamRelayNetworkStatusChanged

    The Steamworks FnSteamRelayNetworkStatusChanged callback function pointer.

    ISteamMatchmakingPingResponse.ServerFailedToRespondHandler

    The server failed to respond to the ping.

    ISteamMatchmakingPingResponse.ServerRespondedHandler

    The server responded with its current details.

    ISteamMatchmakingPlayersResponse.AddPlayerToListHandler

    One player on the server.

    ISteamMatchmakingPlayersResponse.PlayersFailedToRespondHandler

    The server failed to return its player list.

    ISteamMatchmakingPlayersResponse.PlayersRefreshCompleteHandler

    Every player has been reported; no further ISteamMatchmakingPlayersResponse.AddPlayerToListHandler calls follow.

    ISteamMatchmakingRulesResponse.RulesFailedToRespondHandler

    The server failed to return its rules.

    ISteamMatchmakingRulesResponse.RulesRefreshCompleteHandler

    Every rule has been reported; no further ISteamMatchmakingRulesResponse.RulesRespondedHandler calls follow.

    ISteamMatchmakingRulesResponse.RulesRespondedHandler

    One rule the server has set.

    ISteamMatchmakingServerFriendsResponse.AddFriendToListHandler

    One friend who has played on the server.

    ISteamMatchmakingServerFriendsResponse.FriendsFailedToRespondHandler

    The server failed to return its friends list.

    ISteamMatchmakingServerFriendsResponse.FriendsRefreshCompleteHandler

    Every friend has been reported; no further ISteamMatchmakingServerFriendsResponse.AddFriendToListHandler calls follow.

    ISteamMatchmakingServerListResponse.RefreshCompleteHandler

    The list refresh has finished.

    ISteamMatchmakingServerListResponse.ServerFailedToRespondHandler

    A server in the list failed to respond.

    ISteamMatchmakingServerListResponse.ServerRespondedHandler

    A server in the list responded; read its details with GetServerDetails(HServerListRequest, int).

    PFNPreMinidumpCallback

    The Steamworks PFNPreMinidumpCallback callback function pointer.

    SteamAPIWarningMessageHook_t

    Receives Steam API warnings and diagnostic messages. Install it with SetWarningMessageHook(SteamAPIWarningMessageHook_t).

    Steam calls it from native code, so the method that implements it must be static and carry [AOT.MonoPInvokeCallback(typeof(SteamAPIWarningMessageHook_t))]. IL2CPP builds a native entry point only for such a method; any other method fails at runtime, not at build time. The handler must catch every exception, because one unwinding into Steam's stack is undefined behavior.

    SteamAPI_CheckCallbackRegistered_t

    Steam-internal hook that reports whether a callback is registered for a callback id. No API in this package accepts one; the SDK takes it only through a private ISteamClient method. As with any delegate that Steam calls, back it with a static method that carries [AOT.MonoPInvokeCallback(typeof(SteamAPI_CheckCallbackRegistered_t))] and catches every exception.

    SteamInputActionEventCallbackPointer

    Receives each Steam Input action event; install it with EnableActionEventCallbacks(SteamInputActionEventCallbackPointer). It runs synchronously inside RunFrame(bool) or Steam's own callback dispatch, on whichever thread made that call.

    Steam calls it from native code, so the method behind it must be static and carry [AOT.MonoPInvokeCallback(typeof(SteamInputActionEventCallbackPointer))]: IL2CPP only builds a native entry point for such a method, and otherwise fails at runtime rather than at build time. Catch every exception in the handler. An exception that unwinds into Steam's stack causes undefined behavior.

    In This Article
    Back to top
    Copyright © 2026 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)