Search Results for

    Show / Hide Table of Contents

    Users

    You can access user information through both the KaijuMultiplayerManager component and a dedicated KaijuUser component.

    Component

    The KaijuUser component allows you to cache information about one user, and will automatically update if any information about the user updates. For more details, see the KaijuUser API. This component can be easily synchronized with networking framework integrations via their UserLink components. See each networking framework integration's documentation for more:

    • Netcode for GameObjects
    • PurrNet
    • FishNet

    Information

    When information such as a user's name or state has updated, it will trigger a KaijuMultiplayerManager.OnUser callback. The KaijuUser component also has its own KaijuUser.OnUser callback.

    Names

    You can access your name via KaijuMultiplayerManager.Name and that of other users via KaijuMultiplayerManager.GetName(ulong). On a KaijuUser component, you can use KaijuUser.Name.

    Icons

    To get an icon, use KaijuMultiplayerManager.GetIcon(ref Texture2D, KaijuIconSize) for yourself and KaijuMultiplayerManager.GetIcon(ulong, ref Texture2D, KaijuIconSize) for others. You can access the icon of a KaijuUser with KaijuUser.Icon.

    If KaijuMultiplayerManager.GetIcon(ref Texture2D, KaijuIconSize) or KaijuMultiplayerManager.GetIcon(ulong, ref Texture2D, KaijuIconSize) returns a KaijuSolutions.MultiplayerEngineIconStatus` of Requested, it means we do not yet have the user's icon downloaded. In this case, you need to wait for a KaijuMultiplayerManager.OnIcon callback for the user you want the icon for, and then proceed to call KaijuMultiplayerManager.GetIcon(ref Texture2D, KaijuIconSize) or KaijuMultiplayerManager.GetIcon(ulong, ref Texture2D, KaijuIconSize) again.

    The KaijuUser component will automatically keep its user's icon up to date, invoking the KaijuUser.OnIcon callback whenever it is updated.

    State

    You can access your online state via KaijuMultiplayerManager.State and that of other users via KaijuMultiplayerManager.GetState(ulong). On a KaijuUser component, you can use KaijuUser.State.

    Relationship

    You can access your relationship with a user with KaijuMultiplayerManager.GetRelationship(ulong). On a KaijuUser component, you can use KaijuUser.Relationship.

    Rich Presence

    You can get a rich presence entry of yours with KaijuMultiplayerManager.GetRichPresence(string) and for other users with KaijuMultiplayerManager.GetRichPresence(ulong, string). To get all currently set rich presence, you can use KaijuMultiplayerManager.RichPresence for yourself and KaijuMultiplayerManager.GetRichPresence(ulong) for others.

    You can set your rich presence through KaijuMultiplayerManager.SetRichPresence(string, string) and KaijuMultiplayerManager.SetRichPresence(IEnumerable<KeyValuePair<string, string>>); using NULL for values will delete said rich presence. You can clear your rich presence with KaijuMultiplayerManager.ClearRichPresence().

    To listen for rich presence updating, use the KaijuMultiplayerManager.OnRichPresence and KaijuUser.OnRichPresence callbacks.

    Special Keys

    Certain keys serve special purposes for rich presence. Some require configuration on the Steam backend for which you can learn more about in the Steamworks documentation. KMPE provides helpers to quickly get or set these values.

    Connect

    The connect key is used to configure the ability for your friends to join your game through the Kaiju User interface. KMPE handles this automatically with respect to lobby visibility, open state, and player capacity, and will prevent you from manually setting it with KaijuMultiplayerManager.SetRichPresence(string, string) and KaijuMultiplayerManager.SetRichPresence(IEnumerable<KeyValuePair<string, string>>). KaijuMultiplayerManager.ClearRichPresence() will ignore this key.

    Grouping

    The group key is used to display you along with other friends you are playing with as being in a group in the Steam friends user interface, with the group_size key defining the total size of your group to display, consisting of all group members, even non-friends. You can get your values through KaijuMultiplayerManager.Group and KaijuMultiplayerManager.GroupSize, other users using KaijuMultiplayerManager.GetGroup(ulong) and KaijuMultiplayerManager.GetGroupSize(ulong), and from a KaijuUser component using KaijuUser.Group and KaijuUser.GroupSize.

    KMPE gives you the option to automatically or manually handle grouping by setting KaijuMultiplayerManager.AutoGroup. If KaijuMultiplayerManager.AutoGroup is enabled, it will block you from setting the group and group_size rich presence values. Additionally, when KaijuMultiplayerManager.AutoGroup is enabled, KaijuMultiplayerManager.ClearRichPresence() will ignore these keys.

    Automatic grouping is perfect for games without teams. If your game is team-based, you may want to utilize manual grouping by disabling KaijuMultiplayerManager.AutoGroup and setting KaijuMultiplayerManager.Group and KaijuMultiplayerManager.GroupSize. For example, simply set KaijuMultiplayerManager.GroupSize to the number of players on your team in the lobby, and set KaijuMultiplayerManager.Group to a unique value composed of the KaijuMultiplayerManager.LobbyId and your team's name such as $"{KaijuMultiplayerManager.LobbyId}_red" if you were on the red team.

    Status

    The status will show up when a user clicks on your "view game info" dialog in the Steam friends list. You can get and set it for yourself using KaijuMultiplayerManager.Status and get it for other users with KaijuMultiplayerManager.GetStatus(ulong).

    Display

    steam_display names a rich presence localization token that will be displayed in the viewing user's selected language in the Steam client user interface. This requires configuration on the Steam backend for which you can learn more about in the Steamworks documentation. You can get and set it for yourself using KaijuMultiplayerManager.Display and get it for other users with KaijuMultiplayerManager.GetDisplay(ulong).

    Data

    For details on how to get and set member data, see the matchmaking documentation.

    Friends

    To get all of your friends, use KaijuMultiplayerManager.GetFriends(bool).

    In This Article
    Back to top © 2025 Kaiju Solutions Inc.