docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class 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.

    Inheritance
    object
    SteamGameServerClient
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: Unity.Steamworks.Interop
    Assembly: Unity.Steamworks.Interop.dll
    Syntax
    public static class SteamGameServerClient

    Methods

    BReleaseSteamPipe(HSteamPipe)

    Releases a previously created communications pipe NOT THREADSAFE - ensure that no other threads are accessing Steamworks API when calling

    Declaration
    public static bool BReleaseSteamPipe(HSteamPipe hSteamPipe)
    Parameters
    Type Name Description
    HSteamPipe hSteamPipe

    Passed through to ISteamGameServerClient::BReleaseSteamPipe.

    Returns
    Type Description
    bool

    The value ISteamGameServerClient::BReleaseSteamPipe returns.

    BShutdownIfAllPipesClosed()

    Trigger global shutdown for the DLL

    Declaration
    public static bool BShutdownIfAllPipesClosed()
    Returns
    Type Description
    bool

    The value ISteamGameServerClient::BShutdownIfAllPipesClosed returns.

    ConnectToGlobalUser(HSteamPipe)

    connects to an existing global user, failing if none exists used by the game to coordinate with the steamUI NOT THREADSAFE - ensure that no other threads are accessing Steamworks API when calling

    Declaration
    public static HSteamUser ConnectToGlobalUser(HSteamPipe hSteamPipe)
    Parameters
    Type Name Description
    HSteamPipe hSteamPipe

    Passed through to ISteamGameServerClient::ConnectToGlobalUser.

    Returns
    Type Description
    HSteamUser

    The value ISteamGameServerClient::ConnectToGlobalUser returns.

    CreateLocalUser(out HSteamPipe, EAccountType)

    used by game servers, create a steam user that won't be shared with anyone else NOT THREADSAFE - ensure that no other threads are accessing Steamworks API when calling

    Declaration
    public static HSteamUser CreateLocalUser(out HSteamPipe phSteamPipe, EAccountType eAccountType)
    Parameters
    Type Name Description
    HSteamPipe phSteamPipe

    Passed through to ISteamGameServerClient::CreateLocalUser.

    EAccountType eAccountType

    Passed through to ISteamGameServerClient::CreateLocalUser.

    Returns
    Type Description
    HSteamUser

    The value ISteamGameServerClient::CreateLocalUser returns.

    CreateSteamPipe()

    Creates a communication pipe to the Steam client. NOT THREADSAFE - ensure that no other threads are accessing Steamworks API when calling

    Declaration
    public static HSteamPipe CreateSteamPipe()
    Returns
    Type Description
    HSteamPipe

    The value ISteamGameServerClient::CreateSteamPipe returns.

    GetIPCCallCount()

    returns the number of IPC calls made since the last time this function was called Used for perf debugging so you can understand how many IPC calls your game makes per frame Every IPC call is at minimum a thread context switch if not a process one so you want to rate control how often you do them.

    Declaration
    public static uint GetIPCCallCount()
    Returns
    Type Description
    uint

    The value ISteamGameServerClient::GetIPCCallCount returns.

    GetISteamApps(HSteamUser, HSteamPipe, string)

    returns apps interface

    Declaration
    public static IntPtr GetISteamApps(HSteamUser hSteamUser, HSteamPipe hSteamPipe, string pchVersion)
    Parameters
    Type Name Description
    HSteamUser hSteamUser

    Passed through to ISteamGameServerClient::GetISteamApps.

    HSteamPipe hSteamPipe

    Passed through to ISteamGameServerClient::GetISteamApps.

    string pchVersion

    Passed through to ISteamGameServerClient::GetISteamApps.

    Returns
    Type Description
    IntPtr

    The value ISteamGameServerClient::GetISteamApps returns.

    GetISteamController(HSteamUser, HSteamPipe, string)

    Exposes the ISteamController interface - deprecated in favor of Steam Input

    Declaration
    public static IntPtr GetISteamController(HSteamUser hSteamUser, HSteamPipe hSteamPipe, string pchVersion)
    Parameters
    Type Name Description
    HSteamUser hSteamUser

    Passed through to ISteamGameServerClient::GetISteamController.

    HSteamPipe hSteamPipe

    Passed through to ISteamGameServerClient::GetISteamController.

    string pchVersion

    Passed through to ISteamGameServerClient::GetISteamController.

    Returns
    Type Description
    IntPtr

    The value ISteamGameServerClient::GetISteamController returns.

    GetISteamFriends(HSteamUser, HSteamPipe, string)

    returns the ISteamFriends interface

    Declaration
    public static IntPtr GetISteamFriends(HSteamUser hSteamUser, HSteamPipe hSteamPipe, string pchVersion)
    Parameters
    Type Name Description
    HSteamUser hSteamUser

    Passed through to ISteamGameServerClient::GetISteamFriends.

    HSteamPipe hSteamPipe

    Passed through to ISteamGameServerClient::GetISteamFriends.

    string pchVersion

    Passed through to ISteamGameServerClient::GetISteamFriends.

    Returns
    Type Description
    IntPtr

    The value ISteamGameServerClient::GetISteamFriends returns.

    GetISteamGameServer(HSteamUser, HSteamPipe, string)

    retrieves the ISteamGameServer interface associated with the handle

    Declaration
    public static IntPtr GetISteamGameServer(HSteamUser hSteamUser, HSteamPipe hSteamPipe, string pchVersion)
    Parameters
    Type Name Description
    HSteamUser hSteamUser

    Passed through to ISteamGameServerClient::GetISteamGameServer.

    HSteamPipe hSteamPipe

    Passed through to ISteamGameServerClient::GetISteamGameServer.

    string pchVersion

    Passed through to ISteamGameServerClient::GetISteamGameServer.

    Returns
    Type Description
    IntPtr

    The value ISteamGameServerClient::GetISteamGameServer returns.

    GetISteamGameServerStats(HSteamUser, HSteamPipe, string)

    returns the ISteamGameServerStats interface

    Declaration
    public static IntPtr GetISteamGameServerStats(HSteamUser hSteamuser, HSteamPipe hSteamPipe, string pchVersion)
    Parameters
    Type Name Description
    HSteamUser hSteamuser

    Passed through to ISteamGameServerClient::GetISteamGameServerStats.

    HSteamPipe hSteamPipe

    Passed through to ISteamGameServerClient::GetISteamGameServerStats.

    string pchVersion

    Passed through to ISteamGameServerClient::GetISteamGameServerStats.

    Returns
    Type Description
    IntPtr

    The value ISteamGameServerClient::GetISteamGameServerStats returns.

    GetISteamGenericInterface(HSteamUser, HSteamPipe, string)

    returns the a generic interface

    Declaration
    public static IntPtr GetISteamGenericInterface(HSteamUser hSteamUser, HSteamPipe hSteamPipe, string pchVersion)
    Parameters
    Type Name Description
    HSteamUser hSteamUser

    Passed through to ISteamGameServerClient::GetISteamGenericInterface.

    HSteamPipe hSteamPipe

    Passed through to ISteamGameServerClient::GetISteamGenericInterface.

    string pchVersion

    Passed through to ISteamGameServerClient::GetISteamGenericInterface.

    Returns
    Type Description
    IntPtr

    The value ISteamGameServerClient::GetISteamGenericInterface returns.

    GetISteamHTMLSurface(HSteamUser, HSteamPipe, string)

    html page display

    Declaration
    public static IntPtr GetISteamHTMLSurface(HSteamUser hSteamuser, HSteamPipe hSteamPipe, string pchVersion)
    Parameters
    Type Name Description
    HSteamUser hSteamuser

    Passed through to ISteamGameServerClient::GetISteamHTMLSurface.

    HSteamPipe hSteamPipe

    Passed through to ISteamGameServerClient::GetISteamHTMLSurface.

    string pchVersion

    Passed through to ISteamGameServerClient::GetISteamHTMLSurface.

    Returns
    Type Description
    IntPtr

    The value ISteamGameServerClient::GetISteamHTMLSurface returns.

    GetISteamHTTP(HSteamUser, HSteamPipe, string)

    Expose HTTP interface

    Declaration
    public static IntPtr GetISteamHTTP(HSteamUser hSteamuser, HSteamPipe hSteamPipe, string pchVersion)
    Parameters
    Type Name Description
    HSteamUser hSteamuser

    Passed through to ISteamGameServerClient::GetISteamHTTP.

    HSteamPipe hSteamPipe

    Passed through to ISteamGameServerClient::GetISteamHTTP.

    string pchVersion

    Passed through to ISteamGameServerClient::GetISteamHTTP.

    Returns
    Type Description
    IntPtr

    The value ISteamGameServerClient::GetISteamHTTP returns.

    GetISteamInput(HSteamUser, HSteamPipe, string)

    Exposes the Steam Input interface for controller support

    Declaration
    public static IntPtr GetISteamInput(HSteamUser hSteamUser, HSteamPipe hSteamPipe, string pchVersion)
    Parameters
    Type Name Description
    HSteamUser hSteamUser

    Passed through to ISteamGameServerClient::GetISteamInput.

    HSteamPipe hSteamPipe

    Passed through to ISteamGameServerClient::GetISteamInput.

    string pchVersion

    Passed through to ISteamGameServerClient::GetISteamInput.

    Returns
    Type Description
    IntPtr

    The value ISteamGameServerClient::GetISteamInput returns.

    GetISteamInventory(HSteamUser, HSteamPipe, string)

    inventory

    Declaration
    public static IntPtr GetISteamInventory(HSteamUser hSteamuser, HSteamPipe hSteamPipe, string pchVersion)
    Parameters
    Type Name Description
    HSteamUser hSteamuser

    Passed through to ISteamGameServerClient::GetISteamInventory.

    HSteamPipe hSteamPipe

    Passed through to ISteamGameServerClient::GetISteamInventory.

    string pchVersion

    Passed through to ISteamGameServerClient::GetISteamInventory.

    Returns
    Type Description
    IntPtr

    The value ISteamGameServerClient::GetISteamInventory returns.

    GetISteamMatchmaking(HSteamUser, HSteamPipe, string)

    returns the ISteamMatchmaking interface

    Declaration
    public static IntPtr GetISteamMatchmaking(HSteamUser hSteamUser, HSteamPipe hSteamPipe, string pchVersion)
    Parameters
    Type Name Description
    HSteamUser hSteamUser

    Passed through to ISteamGameServerClient::GetISteamMatchmaking.

    HSteamPipe hSteamPipe

    Passed through to ISteamGameServerClient::GetISteamMatchmaking.

    string pchVersion

    Passed through to ISteamGameServerClient::GetISteamMatchmaking.

    Returns
    Type Description
    IntPtr

    The value ISteamGameServerClient::GetISteamMatchmaking returns.

    GetISteamMatchmakingServers(HSteamUser, HSteamPipe, string)

    returns the ISteamMatchmakingServers interface

    Declaration
    public static IntPtr GetISteamMatchmakingServers(HSteamUser hSteamUser, HSteamPipe hSteamPipe, string pchVersion)
    Parameters
    Type Name Description
    HSteamUser hSteamUser

    Passed through to ISteamGameServerClient::GetISteamMatchmakingServers.

    HSteamPipe hSteamPipe

    Passed through to ISteamGameServerClient::GetISteamMatchmakingServers.

    string pchVersion

    Passed through to ISteamGameServerClient::GetISteamMatchmakingServers.

    Returns
    Type Description
    IntPtr

    The value ISteamGameServerClient::GetISteamMatchmakingServers returns.

    GetISteamMusic(HSteamUser, HSteamPipe, string)

    Music Player

    Declaration
    public static IntPtr GetISteamMusic(HSteamUser hSteamuser, HSteamPipe hSteamPipe, string pchVersion)
    Parameters
    Type Name Description
    HSteamUser hSteamuser

    Passed through to ISteamGameServerClient::GetISteamMusic.

    HSteamPipe hSteamPipe

    Passed through to ISteamGameServerClient::GetISteamMusic.

    string pchVersion

    Passed through to ISteamGameServerClient::GetISteamMusic.

    Returns
    Type Description
    IntPtr

    The value ISteamGameServerClient::GetISteamMusic returns.

    GetISteamNetworking(HSteamUser, HSteamPipe, string)

    networking

    Declaration
    public static IntPtr GetISteamNetworking(HSteamUser hSteamUser, HSteamPipe hSteamPipe, string pchVersion)
    Parameters
    Type Name Description
    HSteamUser hSteamUser

    Passed through to ISteamGameServerClient::GetISteamNetworking.

    HSteamPipe hSteamPipe

    Passed through to ISteamGameServerClient::GetISteamNetworking.

    string pchVersion

    Passed through to ISteamGameServerClient::GetISteamNetworking.

    Returns
    Type Description
    IntPtr

    The value ISteamGameServerClient::GetISteamNetworking returns.

    GetISteamParentalSettings(HSteamUser, HSteamPipe, string)

    Parental controls

    Declaration
    public static IntPtr GetISteamParentalSettings(HSteamUser hSteamuser, HSteamPipe hSteamPipe, string pchVersion)
    Parameters
    Type Name Description
    HSteamUser hSteamuser

    Passed through to ISteamGameServerClient::GetISteamParentalSettings.

    HSteamPipe hSteamPipe

    Passed through to ISteamGameServerClient::GetISteamParentalSettings.

    string pchVersion

    Passed through to ISteamGameServerClient::GetISteamParentalSettings.

    Returns
    Type Description
    IntPtr

    The value ISteamGameServerClient::GetISteamParentalSettings returns.

    GetISteamParties(HSteamUser, HSteamPipe, string)

    Steam Parties interface

    Declaration
    public static IntPtr GetISteamParties(HSteamUser hSteamUser, HSteamPipe hSteamPipe, string pchVersion)
    Parameters
    Type Name Description
    HSteamUser hSteamUser

    Passed through to ISteamGameServerClient::GetISteamParties.

    HSteamPipe hSteamPipe

    Passed through to ISteamGameServerClient::GetISteamParties.

    string pchVersion

    Passed through to ISteamGameServerClient::GetISteamParties.

    Returns
    Type Description
    IntPtr

    The value ISteamGameServerClient::GetISteamParties returns.

    GetISteamRemotePlay(HSteamUser, HSteamPipe, string)

    Steam Remote Play interface

    Declaration
    public static IntPtr GetISteamRemotePlay(HSteamUser hSteamUser, HSteamPipe hSteamPipe, string pchVersion)
    Parameters
    Type Name Description
    HSteamUser hSteamUser

    Passed through to ISteamGameServerClient::GetISteamRemotePlay.

    HSteamPipe hSteamPipe

    Passed through to ISteamGameServerClient::GetISteamRemotePlay.

    string pchVersion

    Passed through to ISteamGameServerClient::GetISteamRemotePlay.

    Returns
    Type Description
    IntPtr

    The value ISteamGameServerClient::GetISteamRemotePlay returns.

    GetISteamRemoteStorage(HSteamUser, HSteamPipe, string)

    remote storage

    Declaration
    public static IntPtr GetISteamRemoteStorage(HSteamUser hSteamuser, HSteamPipe hSteamPipe, string pchVersion)
    Parameters
    Type Name Description
    HSteamUser hSteamuser

    Passed through to ISteamGameServerClient::GetISteamRemoteStorage.

    HSteamPipe hSteamPipe

    Passed through to ISteamGameServerClient::GetISteamRemoteStorage.

    string pchVersion

    Passed through to ISteamGameServerClient::GetISteamRemoteStorage.

    Returns
    Type Description
    IntPtr

    The value ISteamGameServerClient::GetISteamRemoteStorage returns.

    GetISteamScreenshots(HSteamUser, HSteamPipe, string)

    user screenshots

    Declaration
    public static IntPtr GetISteamScreenshots(HSteamUser hSteamuser, HSteamPipe hSteamPipe, string pchVersion)
    Parameters
    Type Name Description
    HSteamUser hSteamuser

    Passed through to ISteamGameServerClient::GetISteamScreenshots.

    HSteamPipe hSteamPipe

    Passed through to ISteamGameServerClient::GetISteamScreenshots.

    string pchVersion

    Passed through to ISteamGameServerClient::GetISteamScreenshots.

    Returns
    Type Description
    IntPtr

    The value ISteamGameServerClient::GetISteamScreenshots returns.

    GetISteamUGC(HSteamUser, HSteamPipe, string)

    Exposes the ISteamUGC interface

    Declaration
    public static IntPtr GetISteamUGC(HSteamUser hSteamUser, HSteamPipe hSteamPipe, string pchVersion)
    Parameters
    Type Name Description
    HSteamUser hSteamUser

    Passed through to ISteamGameServerClient::GetISteamUGC.

    HSteamPipe hSteamPipe

    Passed through to ISteamGameServerClient::GetISteamUGC.

    string pchVersion

    Passed through to ISteamGameServerClient::GetISteamUGC.

    Returns
    Type Description
    IntPtr

    The value ISteamGameServerClient::GetISteamUGC returns.

    GetISteamUser(HSteamUser, HSteamPipe, string)

    retrieves the ISteamUser interface associated with the handle

    Declaration
    public static IntPtr GetISteamUser(HSteamUser hSteamUser, HSteamPipe hSteamPipe, string pchVersion)
    Parameters
    Type Name Description
    HSteamUser hSteamUser

    Passed through to ISteamGameServerClient::GetISteamUser.

    HSteamPipe hSteamPipe

    Passed through to ISteamGameServerClient::GetISteamUser.

    string pchVersion

    Passed through to ISteamGameServerClient::GetISteamUser.

    Returns
    Type Description
    IntPtr

    The value ISteamGameServerClient::GetISteamUser returns.

    GetISteamUserStats(HSteamUser, HSteamPipe, string)

    returns the ISteamUserStats interface

    Declaration
    public static IntPtr GetISteamUserStats(HSteamUser hSteamUser, HSteamPipe hSteamPipe, string pchVersion)
    Parameters
    Type Name Description
    HSteamUser hSteamUser

    Passed through to ISteamGameServerClient::GetISteamUserStats.

    HSteamPipe hSteamPipe

    Passed through to ISteamGameServerClient::GetISteamUserStats.

    string pchVersion

    Passed through to ISteamGameServerClient::GetISteamUserStats.

    Returns
    Type Description
    IntPtr

    The value ISteamGameServerClient::GetISteamUserStats returns.

    GetISteamUtils(HSteamPipe, string)

    returns the ISteamUtils interface

    Declaration
    public static IntPtr GetISteamUtils(HSteamPipe hSteamPipe, string pchVersion)
    Parameters
    Type Name Description
    HSteamPipe hSteamPipe

    Passed through to ISteamGameServerClient::GetISteamUtils.

    string pchVersion

    Passed through to ISteamGameServerClient::GetISteamUtils.

    Returns
    Type Description
    IntPtr

    The value ISteamGameServerClient::GetISteamUtils returns.

    GetISteamVideo(HSteamUser, HSteamPipe, string)

    Video

    Declaration
    public static IntPtr GetISteamVideo(HSteamUser hSteamuser, HSteamPipe hSteamPipe, string pchVersion)
    Parameters
    Type Name Description
    HSteamUser hSteamuser

    Passed through to ISteamGameServerClient::GetISteamVideo.

    HSteamPipe hSteamPipe

    Passed through to ISteamGameServerClient::GetISteamVideo.

    string pchVersion

    Passed through to ISteamGameServerClient::GetISteamVideo.

    Returns
    Type Description
    IntPtr

    The value ISteamGameServerClient::GetISteamVideo returns.

    ReleaseUser(HSteamPipe, HSteamUser)

    removes an allocated user NOT THREADSAFE - ensure that no other threads are accessing Steamworks API when calling

    Declaration
    public static void ReleaseUser(HSteamPipe hSteamPipe, HSteamUser hUser)
    Parameters
    Type Name Description
    HSteamPipe hSteamPipe

    Passed through to ISteamGameServerClient::ReleaseUser.

    HSteamUser hUser

    Passed through to ISteamGameServerClient::ReleaseUser.

    SetLocalIPBinding(ref SteamIPAddress_t, ushort)

    set the local IP and Port to bind to this must be set before CreateLocalUser()

    Declaration
    public static void SetLocalIPBinding(ref SteamIPAddress_t unIP, ushort usPort)
    Parameters
    Type Name Description
    SteamIPAddress_t unIP

    Passed through to ISteamGameServerClient::SetLocalIPBinding.

    ushort usPort

    Passed through to ISteamGameServerClient::SetLocalIPBinding.

    SetWarningMessageHook(SteamAPIWarningMessageHook_t)

    API warning handling 'int' is the severity; 0 for msg, 1 for warning 'const char *' is the text of the message callbacks will occur directly after the API function is called that generated the warning or message.

    Declaration
    public static void SetWarningMessageHook(SteamAPIWarningMessageHook_t pFunction)
    Parameters
    Type Name Description
    SteamAPIWarningMessageHook_t pFunction

    Passed through to ISteamGameServerClient::SetWarningMessageHook.

    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)