Unity User Tools
Last updated
Last updated
The Steam Clan, aka Steam Group system, is part of Valve's Steam Friend system. Players can freely create clans which work similarly to guilds in MMOs in that they have a roster, and officers, can run events and have a dedicated chat system that is always accessible to members.
Heathen's Clan Tools simplify Valve's clan interface features. It maintains a list of the player's clans and each clan's membership which can be refreshed on demand. Clan chat can be interacted with through code, though in general it's advised to use the Steam Overlay as Clan chat can be very complex on account of the large number of users and that a player may interact with the chat from a wide range of sources such as Steam Client, Web Browser, Mobile App, Overlay or of 3rd party apps and games.
Heathen's tools like the , and more can help you bring the group/clan system in-game.
It is possible to chat with specific friends in the game though this is not typical. To get started you would need to enable the feature in the . Once this is enabled the event will be raised when receiving a message from a friend. You can also to friends either via the object or the .
The Heathen framework simplifies the concept of Steam User Data in our object. This object is equitable and comparable to CSteamID and ulong meaning you can convert any CSteamID or ulong value to a UserData object.
This means you no longer need to "Get" a UserData object as you did in other steam integrations. The UserData object exposes all relevant information about the user in question with simple fields.
The most common use case is to fetch the local user's information. This can be done with a single line call.
For example if you wanted to get the local user's name as it appears on Steam.
Unlike previous iterations we only load the image when requested, this saves memory usage by only loading avatars that are requested.
Note the Avatar field checks for loaded avatar images and returns the matching image if found.
The LoadAvatar method does similar but asynchronously and will load the image if not found. It does this by taking an Action as a parameter and invoking it when the image is found or loaded as required.
If your not aware of what a callback is see this .
There are a few pre-made components that can help display common UserData to the screen such as the and components. These simply set uGUI RawImage or uGUI Text or TMPro text fields.