Table of Contents

Class ISteamFriends

Namespace
MarymoorStudios.Core.Steamworks
Assembly
MarymoorStudios.Core.Steamworks.dll
public sealed class ISteamFriends : SteamNativeObject
Inheritance
ISteamFriends
Inherited Members

Fields

INTERFACE_VERSION

public const string INTERFACE_VERSION = "SteamFriends018"

Field Value

string

Methods

ActivateGameOverlay(string)

public void ActivateGameOverlay(string dialog)

Parameters

dialog string

ActivateGameOverlayInviteDialog(CSteamID)

public void ActivateGameOverlayInviteDialog(CSteamID steamIDLobby)

Parameters

steamIDLobby CSteamID

ActivateGameOverlayInviteDialogConnectString(string)

public void ActivateGameOverlayInviteDialogConnectString(string connectString)

Parameters

connectString string

ActivateGameOverlayRemotePlayTogetherInviteDialog(CSteamID)

public void ActivateGameOverlayRemotePlayTogetherInviteDialog(CSteamID steamIDLobby)

Parameters

steamIDLobby CSteamID

ActivateGameOverlayToStore(AppId, EOverlayToStoreFlag)

public void ActivateGameOverlayToStore(AppId appId, EOverlayToStoreFlag flag)

Parameters

appId AppId
flag EOverlayToStoreFlag

ActivateGameOverlayToUser(string, CSteamID)

public void ActivateGameOverlayToUser(string dialog, CSteamID steamID)

Parameters

dialog string
steamID CSteamID

ActivateGameOverlayToWebPage(string, EActivateGameOverlayToWebPageMode)

public void ActivateGameOverlayToWebPage(string url, EActivateGameOverlayToWebPageMode mode)

Parameters

url string
mode EActivateGameOverlayToWebPageMode

BHasEquippedProfileItem(CSteamID, ECommunityProfileItemType)

public bool BHasEquippedProfileItem(CSteamID steamID, ECommunityProfileItemType itemType)

Parameters

steamID CSteamID
itemType ECommunityProfileItemType

Returns

bool

ClearRichPresence()

public void ClearRichPresence()

CloseClanChatWindowInSteam(CSteamID)

public bool CloseClanChatWindowInSteam(CSteamID steamIDClanChat)

Parameters

steamIDClanChat CSteamID

Returns

bool

DownloadClanActivityCounts(ReadOnlySpan<CSteamID>)

public Promise<DownloadClanActivityCountsResult> DownloadClanActivityCounts(ReadOnlySpan<CSteamID> psteamIDClans)

Parameters

psteamIDClans ReadOnlySpan<CSteamID>

Returns

Promise<DownloadClanActivityCountsResult>

EnumerateFollowingList(uint)

public Promise<FriendsEnumerateFollowingList> EnumerateFollowingList(uint startIndex)

Parameters

startIndex uint

Returns

Promise<FriendsEnumerateFollowingList>

EnumerateFriends(EFriendFlags)

Enumerates users the client knows that meet certain criteria.

public ISteamFriends.SteamIdEnumerable EnumerateFriends(EFriendFlags flags = EFriendFlags.Immediate)

Parameters

flags EFriendFlags

One or more friend flags.

Returns

ISteamFriends.SteamIdEnumerable

An enumerator.

Remarks

GetChatMemberByIndex(CSteamID, int)

public CSteamID GetChatMemberByIndex(CSteamID steamIDClan, int user)

Parameters

steamIDClan CSteamID
user int

Returns

CSteamID

GetClanActivityCounts(CSteamID, out int, out int, out int)

public bool GetClanActivityCounts(CSteamID steamIDClan, out int online, out int inGame, out int chatting)

Parameters

steamIDClan CSteamID
online int
inGame int
chatting int

Returns

bool

GetClanByIndex(int)

public CSteamID GetClanByIndex(int clan)

Parameters

clan int

Returns

CSteamID

GetClanChatMemberCount(CSteamID)

public int GetClanChatMemberCount(CSteamID steamIDClan)

Parameters

steamIDClan CSteamID

Returns

int

GetClanChatMessage(CSteamID, int, Span<byte>, out EChatEntryType, out CSteamID)

public int GetClanChatMessage(CSteamID steamIDClanChat, int message, Span<byte> prgchText, out EChatEntryType chatEntryType, out CSteamID psteamidChatter)

Parameters

steamIDClanChat CSteamID
message int
prgchText Span<byte>
chatEntryType EChatEntryType
psteamidChatter CSteamID

Returns

int

GetClanCount()

public int GetClanCount()

Returns

int

GetClanName(CSteamID)

public string GetClanName(CSteamID steamIDClan)

Parameters

steamIDClan CSteamID

Returns

string

GetClanOfficerByIndex(CSteamID, int)

public CSteamID GetClanOfficerByIndex(CSteamID steamIDClan, int officer)

Parameters

steamIDClan CSteamID
officer int

Returns

CSteamID

GetClanOfficerCount(CSteamID)

public int GetClanOfficerCount(CSteamID steamIDClan)

Parameters

steamIDClan CSteamID

Returns

int

GetClanOwner(CSteamID)

public CSteamID GetClanOwner(CSteamID steamIDClan)

Parameters

steamIDClan CSteamID

Returns

CSteamID

GetClanTag(CSteamID)

public string GetClanTag(CSteamID steamIDClan)

Parameters

steamIDClan CSteamID

Returns

string

GetCoplayFriend(int)

public CSteamID GetCoplayFriend(int coplayFriend)

Parameters

coplayFriend int

Returns

CSteamID

GetCoplayFriendCount()

public int GetCoplayFriendCount()

Returns

int

GetFollowerCount(CSteamID)

public Promise<FriendsGetFollowerCount> GetFollowerCount(CSteamID steamID)

Parameters

steamID CSteamID

Returns

Promise<FriendsGetFollowerCount>

GetFriendByIndex(int, EFriendFlags)

Gets the Steam ID of the user at the given index.

public CSteamID GetFriendByIndex(int friend, EFriendFlags friendFlags)

Parameters

friend int

An index between 0 and GetFriendCount(EFriendFlags) .

friendFlags EFriendFlags

A combination of EFriendFlags. This must be the same value as used in the previous call to GetFriendCount(EFriendFlags) .

Returns

CSteamID

The CSteamID of the friend.

Remarks

NOTE: You must call GetFriendCount before calling this.

Invalid indices return Nil.

GetFriendCoplayGame(CSteamID)

public AppId GetFriendCoplayGame(CSteamID steamIDFriend)

Parameters

steamIDFriend CSteamID

Returns

AppId

GetFriendCoplayTime(CSteamID)

public int GetFriendCoplayTime(CSteamID steamIDFriend)

Parameters

steamIDFriend CSteamID

Returns

int

GetFriendCount(EFriendFlags)

Gets the number of users the client knows about who meet a specified criteria (friends, blocked, users on the same server, etc).

public int GetFriendCount(EFriendFlags friendFlags)

Parameters

friendFlags EFriendFlags

one or more friend flags.

Returns

int

The number of users that meet the specified criteria, or -1 if the current user is not logged on.

Remarks

This can be used to iterate over all the users by calling MarymoorStudios.Core.Steamworks.ISteamFriends.GetFriendByIndex(System.Int32,System.Int32) to get the Steam IDs of each user.

GetFriendCountFromSource(CSteamID)

public int GetFriendCountFromSource(CSteamID steamIDSource)

Parameters

steamIDSource CSteamID

Returns

int

GetFriendFromSourceByIndex(CSteamID, int)

public CSteamID GetFriendFromSourceByIndex(CSteamID steamIDSource, int friend)

Parameters

steamIDSource CSteamID
friend int

Returns

CSteamID

GetFriendGamePlayed(CSteamID, out FriendGameInfo)

public bool GetFriendGamePlayed(CSteamID steamIDFriend, out FriendGameInfo friendGameInfo)

Parameters

steamIDFriend CSteamID
friendGameInfo FriendGameInfo

Returns

bool

GetFriendMessage(CSteamID, int, Span<byte>, out EChatEntryType)

Gets the data from a Steam friends message.

public int GetFriendMessage(CSteamID steamIDFriend, int messageID, Span<byte> data, out EChatEntryType chatEntryType)

Parameters

steamIDFriend CSteamID

The Steam ID of the friend that sent this message.

messageID int

The index of the message. This should be MessageID .

data Span<byte>

The buffer where the chat message will be copied into. Depends on type.

chatEntryType EChatEntryType

The type of chat entry that was received.

Returns

int

The number of bytes copied into pvData. Returns 0 and sets chatEntryType to Invalid if the current user is chat restricted, if the provided Steam ID is not a friend, or if the index provided in messageID is invalid.

Remarks

This should only ever be called in response to a GameConnectedFriendChatMsg callback.

GetFriendPersonaName(CSteamID)

public string GetFriendPersonaName(CSteamID steamIDFriend)

Parameters

steamIDFriend CSteamID

Returns

string

GetFriendPersonaNameHistory(CSteamID, int)

public string GetFriendPersonaNameHistory(CSteamID steamIDFriend, int personaName)

Parameters

steamIDFriend CSteamID
personaName int

Returns

string

GetFriendPersonaState(CSteamID)

public EPersonaState GetFriendPersonaState(CSteamID steamIDFriend)

Parameters

steamIDFriend CSteamID

Returns

EPersonaState

GetFriendRelationship(CSteamID)

public EFriendRelationship GetFriendRelationship(CSteamID steamIDFriend)

Parameters

steamIDFriend CSteamID

Returns

EFriendRelationship

GetFriendRichPresence(CSteamID, string)

public string GetFriendRichPresence(CSteamID steamIDFriend, string key)

Parameters

steamIDFriend CSteamID
key string

Returns

string

GetFriendRichPresenceKeyByIndex(CSteamID, int)

public string GetFriendRichPresenceKeyByIndex(CSteamID steamIDFriend, int key)

Parameters

steamIDFriend CSteamID
key int

Returns

string

GetFriendRichPresenceKeyCount(CSteamID)

public int GetFriendRichPresenceKeyCount(CSteamID steamIDFriend)

Parameters

steamIDFriend CSteamID

Returns

int

GetFriendSteamLevel(CSteamID)

public int GetFriendSteamLevel(CSteamID steamIDFriend)

Parameters

steamIDFriend CSteamID

Returns

int

GetFriendsGroupCount()

public int GetFriendsGroupCount()

Returns

int

GetFriendsGroupIDByIndex(int)

public FriendsGroupID GetFriendsGroupIDByIndex(int fG)

Parameters

fG int

Returns

FriendsGroupID

GetFriendsGroupMembersCount(FriendsGroupID)

public int GetFriendsGroupMembersCount(FriendsGroupID friendsGroupID)

Parameters

friendsGroupID FriendsGroupID

Returns

int

GetFriendsGroupMembersList(FriendsGroupID, out CSteamID, int)

public void GetFriendsGroupMembersList(FriendsGroupID friendsGroupID, out CSteamID outSteamIDMembers, int membersCount)

Parameters

friendsGroupID FriendsGroupID
outSteamIDMembers CSteamID
membersCount int

GetFriendsGroupName(FriendsGroupID)

public string GetFriendsGroupName(FriendsGroupID friendsGroupID)

Parameters

friendsGroupID FriendsGroupID

Returns

string

GetLargeFriendAvatar(CSteamID)

public int GetLargeFriendAvatar(CSteamID steamIDFriend)

Parameters

steamIDFriend CSteamID

Returns

int

GetMediumFriendAvatar(CSteamID)

public int GetMediumFriendAvatar(CSteamID steamIDFriend)

Parameters

steamIDFriend CSteamID

Returns

int

GetNumChatsWithUnreadPriorityMessages()

public int GetNumChatsWithUnreadPriorityMessages()

Returns

int

GetPersonaName()

public string GetPersonaName()

Returns

string

GetPersonaState()

public EPersonaState GetPersonaState()

Returns

EPersonaState

GetPlayerNickname(CSteamID)

public string GetPlayerNickname(CSteamID steamIDPlayer)

Parameters

steamIDPlayer CSteamID

Returns

string

GetProfileItemPropertyString(CSteamID, ECommunityProfileItemType, ECommunityProfileItemProperty)

public string GetProfileItemPropertyString(CSteamID steamID, ECommunityProfileItemType itemType, ECommunityProfileItemProperty prop)

Parameters

steamID CSteamID
itemType ECommunityProfileItemType
prop ECommunityProfileItemProperty

Returns

string

GetProfileItemPropertyUint(CSteamID, ECommunityProfileItemType, ECommunityProfileItemProperty)

public uint GetProfileItemPropertyUint(CSteamID steamID, ECommunityProfileItemType itemType, ECommunityProfileItemProperty prop)

Parameters

steamID CSteamID
itemType ECommunityProfileItemType
prop ECommunityProfileItemProperty

Returns

uint

GetSmallFriendAvatar(CSteamID)

public int GetSmallFriendAvatar(CSteamID steamIDFriend)

Parameters

steamIDFriend CSteamID

Returns

int

HasFriend(CSteamID, int)

public bool HasFriend(CSteamID steamIDFriend, int friendFlags)

Parameters

steamIDFriend CSteamID
friendFlags int

Returns

bool

InviteUserToGame(CSteamID, string)

public bool InviteUserToGame(CSteamID steamIDFriend, string connectString)

Parameters

steamIDFriend CSteamID
connectString string

Returns

bool

IsClanChatAdmin(CSteamID, CSteamID)

public bool IsClanChatAdmin(CSteamID steamIDClanChat, CSteamID steamIDUser)

Parameters

steamIDClanChat CSteamID
steamIDUser CSteamID

Returns

bool

IsClanChatWindowOpenInSteam(CSteamID)

public bool IsClanChatWindowOpenInSteam(CSteamID steamIDClanChat)

Parameters

steamIDClanChat CSteamID

Returns

bool

IsClanOfficialGameGroup(CSteamID)

public bool IsClanOfficialGameGroup(CSteamID steamIDClan)

Parameters

steamIDClan CSteamID

Returns

bool

IsClanPublic(CSteamID)

public bool IsClanPublic(CSteamID steamIDClan)

Parameters

steamIDClan CSteamID

Returns

bool

IsFollowing(CSteamID)

public Promise<FriendsIsFollowing> IsFollowing(CSteamID steamID)

Parameters

steamID CSteamID

Returns

Promise<FriendsIsFollowing>

IsUserInSource(CSteamID, CSteamID)

public bool IsUserInSource(CSteamID steamIDUser, CSteamID steamIDSource)

Parameters

steamIDUser CSteamID
steamIDSource CSteamID

Returns

bool

JoinClanChatRoom(CSteamID)

public Promise<JoinClanChatRoomCompletionResult> JoinClanChatRoom(CSteamID steamIDClan)

Parameters

steamIDClan CSteamID

Returns

Promise<JoinClanChatRoomCompletionResult>

LeaveClanChatRoom(CSteamID)

public bool LeaveClanChatRoom(CSteamID steamIDClan)

Parameters

steamIDClan CSteamID

Returns

bool

OnAvatarImageLoaded(CallbackAction<AvatarImageLoaded>)

public IDisposable OnAvatarImageLoaded(CallbackAction<AvatarImageLoaded> func)

Parameters

func CallbackAction<AvatarImageLoaded>

Returns

IDisposable

OnEquippedProfileItemsChanged(CallbackAction<EquippedProfileItemsChanged>)

public IDisposable OnEquippedProfileItemsChanged(CallbackAction<EquippedProfileItemsChanged> func)

Parameters

func CallbackAction<EquippedProfileItemsChanged>

Returns

IDisposable

OnFriendRichPresenceUpdate(CallbackAction<FriendRichPresenceUpdate>)

public IDisposable OnFriendRichPresenceUpdate(CallbackAction<FriendRichPresenceUpdate> func)

Parameters

func CallbackAction<FriendRichPresenceUpdate>

Returns

IDisposable

OnGameConnectedChatJoin(CallbackAction<GameConnectedChatJoin>)

public IDisposable OnGameConnectedChatJoin(CallbackAction<GameConnectedChatJoin> func)

Parameters

func CallbackAction<GameConnectedChatJoin>

Returns

IDisposable

OnGameConnectedChatLeave(CallbackAction<GameConnectedChatLeave>)

public IDisposable OnGameConnectedChatLeave(CallbackAction<GameConnectedChatLeave> func)

Parameters

func CallbackAction<GameConnectedChatLeave>

Returns

IDisposable

OnGameConnectedClanChatMsg(CallbackAction<GameConnectedClanChatMsg>)

public IDisposable OnGameConnectedClanChatMsg(CallbackAction<GameConnectedClanChatMsg> func)

Parameters

func CallbackAction<GameConnectedClanChatMsg>

Returns

IDisposable

OnGameConnectedFriendChatMsg(CallbackAction<GameConnectedFriendChatMsg>)

public IDisposable OnGameConnectedFriendChatMsg(CallbackAction<GameConnectedFriendChatMsg> func)

Parameters

func CallbackAction<GameConnectedFriendChatMsg>

Returns

IDisposable

OnGameLobbyJoinRequested(CallbackAction<GameLobbyJoinRequested>)

public IDisposable OnGameLobbyJoinRequested(CallbackAction<GameLobbyJoinRequested> func)

Parameters

func CallbackAction<GameLobbyJoinRequested>

Returns

IDisposable

OnGameOverlayActivated(CallbackAction<GameOverlayActivated>)

public IDisposable OnGameOverlayActivated(CallbackAction<GameOverlayActivated> func)

Parameters

func CallbackAction<GameOverlayActivated>

Returns

IDisposable

OnGameRichPresenceJoinRequested(CallbackAction<GameRichPresenceJoinRequested>)

public IDisposable OnGameRichPresenceJoinRequested(CallbackAction<GameRichPresenceJoinRequested> func)

Parameters

func CallbackAction<GameRichPresenceJoinRequested>

Returns

IDisposable

OnGameServerChangeRequested(CallbackAction<GameServerChangeRequested>)

public IDisposable OnGameServerChangeRequested(CallbackAction<GameServerChangeRequested> func)

Parameters

func CallbackAction<GameServerChangeRequested>

Returns

IDisposable

OnOverlayBrowserProtocolNavigation(CallbackAction<OverlayBrowserProtocolNavigation>)

public IDisposable OnOverlayBrowserProtocolNavigation(CallbackAction<OverlayBrowserProtocolNavigation> func)

Parameters

func CallbackAction<OverlayBrowserProtocolNavigation>

Returns

IDisposable

OnPersonaStateChange(CallbackAction<PersonaStateChange>)

public IDisposable OnPersonaStateChange(CallbackAction<PersonaStateChange> func)

Parameters

func CallbackAction<PersonaStateChange>

Returns

IDisposable

OnUnreadChatMessagesChanged(CallbackAction<UnreadChatMessagesChanged>)

public IDisposable OnUnreadChatMessagesChanged(CallbackAction<UnreadChatMessagesChanged> func)

Parameters

func CallbackAction<UnreadChatMessagesChanged>

Returns

IDisposable

OpenClanChatWindowInSteam(CSteamID)

public bool OpenClanChatWindowInSteam(CSteamID steamIDClanChat)

Parameters

steamIDClanChat CSteamID

Returns

bool

RegisterProtocolInOverlayBrowser(string)

public bool RegisterProtocolInOverlayBrowser(string protocol)

Parameters

protocol string

Returns

bool

ReplyToFriendMessage(CSteamID, string)

public bool ReplyToFriendMessage(CSteamID steamIDFriend, string msgToSend)

Parameters

steamIDFriend CSteamID
msgToSend string

Returns

bool

RequestClanOfficerList(CSteamID)

public Promise<ClanOfficerListResponse> RequestClanOfficerList(CSteamID steamIDClan)

Parameters

steamIDClan CSteamID

Returns

Promise<ClanOfficerListResponse>

RequestEquippedProfileItems(CSteamID)

public Promise<EquippedProfileItems> RequestEquippedProfileItems(CSteamID steamID)

Parameters

steamID CSteamID

Returns

Promise<EquippedProfileItems>

RequestFriendRichPresence(CSteamID)

public void RequestFriendRichPresence(CSteamID steamIDFriend)

Parameters

steamIDFriend CSteamID

RequestUserInformation(CSteamID, bool)

public bool RequestUserInformation(CSteamID steamIDUser, bool requireNameOnly)

Parameters

steamIDUser CSteamID
requireNameOnly bool

Returns

bool

SendClanChatMessage(CSteamID, string)

public bool SendClanChatMessage(CSteamID steamIDClanChat, string text)

Parameters

steamIDClanChat CSteamID
text string

Returns

bool

SetInGameVoiceSpeaking(CSteamID, bool)

public void SetInGameVoiceSpeaking(CSteamID steamIDUser, bool speaking)

Parameters

steamIDUser CSteamID
speaking bool

SetListenForFriendsMessages()

public IDisposable SetListenForFriendsMessages()

Returns

IDisposable

SetPlayedWith(CSteamID)

public void SetPlayedWith(CSteamID steamIDUserPlayedWith)

Parameters

steamIDUserPlayedWith CSteamID

SetRichPresence(string, string)

public bool SetRichPresence(string key, string value)

Parameters

key string
value string

Returns

bool