Class SteamUserStats
Purpose: Functions for accessing stats, achievements, and leaderboard information
Inherited Members
Namespace: Unity.Steamworks.Interop
Assembly: Unity.Steamworks.Interop.dll
Syntax
public static class SteamUserStats
Methods
AttachLeaderboardUGC(SteamLeaderboard_t, UGCHandle_t)
Attaches a piece of user generated content the user's entry on a leaderboard. hContent is a handle to a piece of user generated content that was shared using ISteamUserRemoteStorage::FileShare(). This call is asynchronous, with the result returned in LeaderboardUGCSet_t.
Declaration
public static SteamAPICall_t AttachLeaderboardUGC(SteamLeaderboard_t hSteamLeaderboard, UGCHandle_t hUGC)
Parameters
| Type | Name | Description |
|---|---|---|
| SteamLeaderboard_t | hSteamLeaderboard | Passed through to |
| UGCHandle_t | hUGC | Passed through to |
Returns
| Type | Description |
|---|---|
| SteamAPICall_t | The value |
AttachLeaderboardUGCAsync(SteamLeaderboard_t, UGCHandle_t)
Async version of AttachLeaderboardUGC(SteamLeaderboard_t, UGCHandle_t).
Declaration
public static Task<LeaderboardUGCSet_t> AttachLeaderboardUGCAsync(SteamLeaderboard_t hSteamLeaderboard, UGCHandle_t hUGC)
Parameters
| Type | Name | Description |
|---|---|---|
| SteamLeaderboard_t | hSteamLeaderboard | Passed through to |
| UGCHandle_t | hUGC | Passed through to |
Returns
| Type | Description |
|---|---|
| Task<LeaderboardUGCSet_t> | The LeaderboardUGCSet_t Steam reports once the call completes. |
ClearAchievement(string)
Calls the Steamworks ISteamUserStats::ClearAchievement method.
Declaration
public static bool ClearAchievement(string pchName)
Parameters
| Type | Name | Description |
|---|---|---|
| string | pchName | Passed through to |
Returns
| Type | Description |
|---|---|
| bool | The value |
DownloadLeaderboardEntries(SteamLeaderboard_t, ELeaderboardDataRequest, int, int)
Asks the Steam back-end for a set of rows in the leaderboard. This call is asynchronous, with the result returned in LeaderboardScoresDownloaded_t LeaderboardScoresDownloaded_t will contain a handle to pull the results from GetDownloadedLeaderboardEntries() (below) You can ask for more entries than exist, and it will return as many as do exist. k_ELeaderboardDataRequestGlobal requests rows in the leaderboard from the full table, with nRangeStart & nRangeEnd in the range [1, TotalEntries] k_ELeaderboardDataRequestGlobalAroundUser requests rows around the current user, nRangeStart being negate e.g. DownloadLeaderboardEntries( hLeaderboard, k_ELeaderboardDataRequestGlobalAroundUser, -3, 3 ) will return 7 rows, 3 before the user, 3 after k_ELeaderboardDataRequestFriends requests all the rows for friends of the current user
Declaration
public static SteamAPICall_t DownloadLeaderboardEntries(SteamLeaderboard_t hSteamLeaderboard, ELeaderboardDataRequest eLeaderboardDataRequest, int nRangeStart, int nRangeEnd)
Parameters
| Type | Name | Description |
|---|---|---|
| SteamLeaderboard_t | hSteamLeaderboard | Passed through to |
| ELeaderboardDataRequest | eLeaderboardDataRequest | Passed through to |
| int | nRangeStart | Passed through to |
| int | nRangeEnd | Passed through to |
Returns
| Type | Description |
|---|---|
| SteamAPICall_t | The value |
DownloadLeaderboardEntriesAsync(SteamLeaderboard_t, ELeaderboardDataRequest, int, int)
Declaration
public static Task<LeaderboardScoresDownloaded_t> DownloadLeaderboardEntriesAsync(SteamLeaderboard_t hSteamLeaderboard, ELeaderboardDataRequest eLeaderboardDataRequest, int nRangeStart, int nRangeEnd)
Parameters
| Type | Name | Description |
|---|---|---|
| SteamLeaderboard_t | hSteamLeaderboard | Passed through to |
| ELeaderboardDataRequest | eLeaderboardDataRequest | Passed through to |
| int | nRangeStart | Passed through to |
| int | nRangeEnd | Passed through to |
Returns
| Type | Description |
|---|---|
| Task<LeaderboardScoresDownloaded_t> | The LeaderboardScoresDownloaded_t Steam reports once the call completes. |
DownloadLeaderboardEntriesForUsers(SteamLeaderboard_t, CSteamID[], int)
as above, but downloads leaderboard entries for an arbitrary set of users - ELeaderboardDataRequest is k_ELeaderboardDataRequestUsers if a user doesn't have a leaderboard entry, they won't be included in the result a max of 100 users can be downloaded at a time, with only one outstanding call at a time
Declaration
public static SteamAPICall_t DownloadLeaderboardEntriesForUsers(SteamLeaderboard_t hSteamLeaderboard, CSteamID[] prgUsers, int cUsers)
Parameters
| Type | Name | Description |
|---|---|---|
| SteamLeaderboard_t | hSteamLeaderboard | Passed through to |
| CSteamID[] | prgUsers | Passed through to |
| int | cUsers | Passed through to |
Returns
| Type | Description |
|---|---|
| SteamAPICall_t | The value |
DownloadLeaderboardEntriesForUsersAsync(SteamLeaderboard_t, CSteamID[], int)
Async version of DownloadLeaderboardEntriesForUsers(SteamLeaderboard_t, CSteamID[], int).
Declaration
public static Task<LeaderboardScoresDownloaded_t> DownloadLeaderboardEntriesForUsersAsync(SteamLeaderboard_t hSteamLeaderboard, CSteamID[] prgUsers, int cUsers)
Parameters
| Type | Name | Description |
|---|---|---|
| SteamLeaderboard_t | hSteamLeaderboard | Passed through to |
| CSteamID[] | prgUsers | Passed through to |
| int | cUsers | Passed through to |
Returns
| Type | Description |
|---|---|
| Task<LeaderboardScoresDownloaded_t> | The LeaderboardScoresDownloaded_t Steam reports once the call completes. |
FindLeaderboard(string)
as above, but won't create the leaderboard if it's not found This call is asynchronous, with the result returned in LeaderboardFindResult_t
Declaration
public static SteamAPICall_t FindLeaderboard(string pchLeaderboardName)
Parameters
| Type | Name | Description |
|---|---|---|
| string | pchLeaderboardName | Passed through to |
Returns
| Type | Description |
|---|---|
| SteamAPICall_t | The value |
FindLeaderboardAsync(string)
Async version of FindLeaderboard(string).
Declaration
public static Task<LeaderboardFindResult_t> FindLeaderboardAsync(string pchLeaderboardName)
Parameters
| Type | Name | Description |
|---|---|---|
| string | pchLeaderboardName | Passed through to |
Returns
| Type | Description |
|---|---|
| Task<LeaderboardFindResult_t> | The LeaderboardFindResult_t Steam reports once the call completes. |
FindOrCreateLeaderboard(string, ELeaderboardSortMethod, ELeaderboardDisplayType)
Leaderboard functions asks the Steam back-end for a leaderboard by name, and will create it if it's not yet This call is asynchronous, with the result returned in LeaderboardFindResult_t
Declaration
public static SteamAPICall_t FindOrCreateLeaderboard(string pchLeaderboardName, ELeaderboardSortMethod eLeaderboardSortMethod, ELeaderboardDisplayType eLeaderboardDisplayType)
Parameters
| Type | Name | Description |
|---|---|---|
| string | pchLeaderboardName | Passed through to |
| ELeaderboardSortMethod | eLeaderboardSortMethod | Passed through to |
| ELeaderboardDisplayType | eLeaderboardDisplayType | Passed through to |
Returns
| Type | Description |
|---|---|
| SteamAPICall_t | The value |
FindOrCreateLeaderboardAsync(string, ELeaderboardSortMethod, ELeaderboardDisplayType)
Declaration
public static Task<LeaderboardFindResult_t> FindOrCreateLeaderboardAsync(string pchLeaderboardName, ELeaderboardSortMethod eLeaderboardSortMethod, ELeaderboardDisplayType eLeaderboardDisplayType)
Parameters
| Type | Name | Description |
|---|---|---|
| string | pchLeaderboardName | Passed through to |
| ELeaderboardSortMethod | eLeaderboardSortMethod | Passed through to |
| ELeaderboardDisplayType | eLeaderboardDisplayType | Passed through to |
Returns
| Type | Description |
|---|---|
| Task<LeaderboardFindResult_t> | The LeaderboardFindResult_t Steam reports once the call completes. |
GetAchievement(string, out bool)
Achievement flag accessors
Declaration
public static bool GetAchievement(string pchName, out bool pbAchieved)
Parameters
| Type | Name | Description |
|---|---|---|
| string | pchName | Passed through to |
| bool | pbAchieved | Passed through to |
Returns
| Type | Description |
|---|---|
| bool | The value |
GetAchievementAchievedPercent(string, out float)
Returns the percentage of users who have achieved the specified achievement.
Declaration
public static bool GetAchievementAchievedPercent(string pchName, out float pflPercent)
Parameters
| Type | Name | Description |
|---|---|---|
| string | pchName | Passed through to |
| float | pflPercent | Passed through to |
Returns
| Type | Description |
|---|---|
| bool | The value |
GetAchievementAndUnlockTime(string, out bool, out uint)
Get the achievement status, and the time it was unlocked if unlocked. If the return value is true, but the unlock time is zero, that means it was unlocked before Steam began tracking achievement unlock times (December 2009). Time is seconds since January 1, 1970.
Declaration
public static bool GetAchievementAndUnlockTime(string pchName, out bool pbAchieved, out uint punUnlockTime)
Parameters
| Type | Name | Description |
|---|---|---|
| string | pchName | Passed through to |
| bool | pbAchieved | Passed through to |
| uint | punUnlockTime | Passed through to |
Returns
| Type | Description |
|---|---|
| bool | The value |
GetAchievementDisplayAttribute(string, string)
Get general attributes for an achievement. Accepts the following keys:
- "name" and "desc" for retrieving the localized achievement name and description (returned in UTF8)
- "hidden" for retrieving if an achievement is hidden (returns "0" when not hidden, "1" when hidden)
Declaration
public static string GetAchievementDisplayAttribute(string pchName, string pchKey)
Parameters
| Type | Name | Description |
|---|---|---|
| string | pchName | Passed through to |
| string | pchKey | Passed through to |
Returns
| Type | Description |
|---|---|
| string | The value |
GetAchievementIcon(string)
Achievement / GroupAchievement metadata Gets the icon of the achievement, which is a handle to be used in ISteamUtils::GetImageRGBA(), or 0 if none set. A return value of 0 may indicate we are still fetching data, and you can wait for the UserAchievementIconFetched_t callback which will notify you when the bits are ready. If the callback still returns zero, then there is no image set for the specified achievement.
Declaration
public static int GetAchievementIcon(string pchName)
Parameters
| Type | Name | Description |
|---|---|---|
| string | pchName | Passed through to |
Returns
| Type | Description |
|---|---|
| int | The value |
GetAchievementName(uint)
Get achievement name iAchievement in [0,GetNumAchievements)
Declaration
public static string GetAchievementName(uint iAchievement)
Parameters
| Type | Name | Description |
|---|---|---|
| uint | iAchievement | Passed through to |
Returns
| Type | Description |
|---|---|
| string | The value |
GetAchievementProgressLimits(string, out int, out int)
Calls the Steamworks ISteamUserStats::GetAchievementProgressLimits method.
Declaration
public static bool GetAchievementProgressLimits(string pchName, out int pnMinProgress, out int pnMaxProgress)
Parameters
| Type | Name | Description |
|---|---|---|
| string | pchName | Passed through to |
| int | pnMinProgress | Passed through to |
| int | pnMaxProgress | Passed through to |
Returns
| Type | Description |
|---|---|
| bool | The value |
GetAchievementProgressLimits(string, out float, out float)
Calls the Steamworks ISteamUserStats::GetAchievementProgressLimits method.
Declaration
public static bool GetAchievementProgressLimits(string pchName, out float pfMinProgress, out float pfMaxProgress)
Parameters
| Type | Name | Description |
|---|---|---|
| string | pchName | Passed through to |
| float | pfMinProgress | Passed through to |
| float | pfMaxProgress | Passed through to |
Returns
| Type | Description |
|---|---|
| bool | The value |
GetDownloadedLeaderboardEntry(SteamLeaderboardEntries_t, int, out LeaderboardEntry_t, int[], int)
Returns data about a single leaderboard entry use a for loop from 0 to LeaderboardScoresDownloaded_t::m_cEntryCount to get all the downloaded entries e.g. void OnLeaderboardScoresDownloaded( LeaderboardScoresDownloaded_t *pLeaderboardScoresDownloaded ) { for ( int index = 0; index < pLeaderboardScoresDownloaded->m_cEntryCount; index++ ) { LeaderboardEntry_t leaderboardEntry; int32 details[3]; // we know this is how many we've stored previously GetDownloadedLeaderboardEntry( pLeaderboardScoresDownloaded->m_hSteamLeaderboardEntries, index, &leaderboardEntry, details, 3 ); assert( leaderboardEntry.m_cDetails == 3 ); ... } once you've accessed all the entries, the data will be free'd, and the SteamLeaderboardEntries_t handle will become invalid
Declaration
public static bool GetDownloadedLeaderboardEntry(SteamLeaderboardEntries_t hSteamLeaderboardEntries, int index, out LeaderboardEntry_t pLeaderboardEntry, int[] pDetails, int cDetailsMax)
Parameters
| Type | Name | Description |
|---|---|---|
| SteamLeaderboardEntries_t | hSteamLeaderboardEntries | Passed through to |
| int | index | Passed through to |
| LeaderboardEntry_t | pLeaderboardEntry | Passed through to |
| int[] | pDetails | Passed through to |
| int | cDetailsMax | Passed through to |
Returns
| Type | Description |
|---|---|
| bool | The value |
GetGlobalStat(string, out double)
Calls the Steamworks ISteamUserStats::GetGlobalStat method.
Declaration
public static bool GetGlobalStat(string pchStatName, out double pData)
Parameters
| Type | Name | Description |
|---|---|---|
| string | pchStatName | Passed through to |
| double | pData | Passed through to |
Returns
| Type | Description |
|---|---|
| bool | The value |
GetGlobalStat(string, out long)
Calls the Steamworks ISteamUserStats::GetGlobalStat method.
Declaration
public static bool GetGlobalStat(string pchStatName, out long pData)
Parameters
| Type | Name | Description |
|---|---|---|
| string | pchStatName | Passed through to |
| long | pData | Passed through to |
Returns
| Type | Description |
|---|---|
| bool | The value |
GetGlobalStatHistory(string, double[], uint)
Calls the Steamworks ISteamUserStats::GetGlobalStatHistory method.
Declaration
public static int GetGlobalStatHistory(string pchStatName, double[] pData, uint cubData)
Parameters
| Type | Name | Description |
|---|---|---|
| string | pchStatName | Passed through to |
| double[] | pData | Passed through to |
| uint | cubData | Passed through to |
Returns
| Type | Description |
|---|---|
| int | The value |
GetGlobalStatHistory(string, long[], uint)
Calls the Steamworks ISteamUserStats::GetGlobalStatHistory method.
Declaration
public static int GetGlobalStatHistory(string pchStatName, long[] pData, uint cubData)
Parameters
| Type | Name | Description |
|---|---|---|
| string | pchStatName | Passed through to |
| long[] | pData | Passed through to |
| uint | cubData | Passed through to |
Returns
| Type | Description |
|---|---|
| int | The value |
GetLeaderboardDisplayType(SteamLeaderboard_t)
returns the display type of the leaderboard
Declaration
public static ELeaderboardDisplayType GetLeaderboardDisplayType(SteamLeaderboard_t hSteamLeaderboard)
Parameters
| Type | Name | Description |
|---|---|---|
| SteamLeaderboard_t | hSteamLeaderboard | Passed through to |
Returns
| Type | Description |
|---|---|
| ELeaderboardDisplayType | The value |
GetLeaderboardEntryCount(SteamLeaderboard_t)
returns the total number of entries in a leaderboard, as of the last request
Declaration
public static int GetLeaderboardEntryCount(SteamLeaderboard_t hSteamLeaderboard)
Parameters
| Type | Name | Description |
|---|---|---|
| SteamLeaderboard_t | hSteamLeaderboard | Passed through to |
Returns
| Type | Description |
|---|---|
| int | The value |
GetLeaderboardName(SteamLeaderboard_t)
returns the name of a leaderboard
Declaration
public static string GetLeaderboardName(SteamLeaderboard_t hSteamLeaderboard)
Parameters
| Type | Name | Description |
|---|---|---|
| SteamLeaderboard_t | hSteamLeaderboard | Passed through to |
Returns
| Type | Description |
|---|---|
| string | The value |
GetLeaderboardSortMethod(SteamLeaderboard_t)
returns the sort method of the leaderboard
Declaration
public static ELeaderboardSortMethod GetLeaderboardSortMethod(SteamLeaderboard_t hSteamLeaderboard)
Parameters
| Type | Name | Description |
|---|---|---|
| SteamLeaderboard_t | hSteamLeaderboard | Passed through to |
Returns
| Type | Description |
|---|---|
| ELeaderboardSortMethod | The value |
GetMostAchievedAchievementInfo(out string, uint, out float, out bool)
Get the info on the most achieved achievement for the game, returns an iterator index you can use to fetch the next most achieved afterwards. Will return -1 if there is no data on achievement percentages (ie, you haven't called RequestGlobalAchievementPercentages and waited on the callback).
Declaration
public static int GetMostAchievedAchievementInfo(out string pchName, uint unNameBufLen, out float pflPercent, out bool pbAchieved)
Parameters
| Type | Name | Description |
|---|---|---|
| string | pchName | Receives the string |
| uint | unNameBufLen | Passed through to |
| float | pflPercent | Passed through to |
| bool | pbAchieved | Passed through to |
Returns
| Type | Description |
|---|---|
| int | The value |
GetNextMostAchievedAchievementInfo(int, out string, uint, out float, out bool)
Get the info on the next most achieved achievement for the game. Call this after GetMostAchievedAchievementInfo or another GetNextMostAchievedAchievementInfo call passing the iterator from the previous call. Returns -1 after the last achievement has been iterated.
Declaration
public static int GetNextMostAchievedAchievementInfo(int iIteratorPrevious, out string pchName, uint unNameBufLen, out float pflPercent, out bool pbAchieved)
Parameters
| Type | Name | Description |
|---|---|---|
| int | iIteratorPrevious | Passed through to |
| string | pchName | Receives the string |
| uint | unNameBufLen | Passed through to |
| float | pflPercent | Passed through to |
| bool | pbAchieved | Passed through to |
Returns
| Type | Description |
|---|---|
| int | The value |
GetNumAchievements()
Used for iterating achievements. In general games should not need these functions because they should have a list of existing achievements compiled into them
Declaration
public static uint GetNumAchievements()
Returns
| Type | Description |
|---|---|
| uint | The value |
GetNumberOfCurrentPlayers()
Retrieves the number of players currently playing your game (online + offline) This call is asynchronous, with the result returned in NumberOfCurrentPlayers_t
Declaration
public static SteamAPICall_t GetNumberOfCurrentPlayers()
Returns
| Type | Description |
|---|---|
| SteamAPICall_t | The value |
GetNumberOfCurrentPlayersAsync()
Async version of GetNumberOfCurrentPlayers().
Declaration
public static Task<NumberOfCurrentPlayers_t> GetNumberOfCurrentPlayersAsync()
Returns
| Type | Description |
|---|---|
| Task<NumberOfCurrentPlayers_t> | The NumberOfCurrentPlayers_t Steam reports once the call completes. |
GetStat(string, out int)
Calls the Steamworks ISteamUserStats::GetStat method.
Declaration
public static bool GetStat(string pchName, out int pData)
Parameters
| Type | Name | Description |
|---|---|---|
| string | pchName | Passed through to |
| int | pData | Passed through to |
Returns
| Type | Description |
|---|---|
| bool | The value |
GetStat(string, out float)
Calls the Steamworks ISteamUserStats::GetStat method.
Declaration
public static bool GetStat(string pchName, out float pData)
Parameters
| Type | Name | Description |
|---|---|---|
| string | pchName | Passed through to |
| float | pData | Passed through to |
Returns
| Type | Description |
|---|---|
| bool | The value |
GetUserAchievement(CSteamID, string, out bool)
Calls the Steamworks ISteamUserStats::GetUserAchievement method.
Declaration
public static bool GetUserAchievement(CSteamID steamIDUser, string pchName, out bool pbAchieved)
Parameters
| Type | Name | Description |
|---|---|---|
| CSteamID | steamIDUser | Passed through to |
| string | pchName | Passed through to |
| bool | pbAchieved | Passed through to |
Returns
| Type | Description |
|---|---|
| bool | The value |
GetUserAchievementAndUnlockTime(CSteamID, string, out bool, out uint)
See notes for GetAchievementAndUnlockTime above
Declaration
public static bool GetUserAchievementAndUnlockTime(CSteamID steamIDUser, string pchName, out bool pbAchieved, out uint punUnlockTime)
Parameters
| Type | Name | Description |
|---|---|---|
| CSteamID | steamIDUser | Passed through to |
| string | pchName | Passed through to |
| bool | pbAchieved | Passed through to |
| uint | punUnlockTime | Passed through to |
Returns
| Type | Description |
|---|---|
| bool | The value |
GetUserStat(CSteamID, string, out int)
Calls the Steamworks ISteamUserStats::GetUserStat method.
Declaration
public static bool GetUserStat(CSteamID steamIDUser, string pchName, out int pData)
Parameters
| Type | Name | Description |
|---|---|---|
| CSteamID | steamIDUser | Passed through to |
| string | pchName | Passed through to |
| int | pData | Passed through to |
Returns
| Type | Description |
|---|---|
| bool | The value |
GetUserStat(CSteamID, string, out float)
Calls the Steamworks ISteamUserStats::GetUserStat method.
Declaration
public static bool GetUserStat(CSteamID steamIDUser, string pchName, out float pData)
Parameters
| Type | Name | Description |
|---|---|---|
| CSteamID | steamIDUser | Passed through to |
| string | pchName | Passed through to |
| float | pData | Passed through to |
Returns
| Type | Description |
|---|---|
| bool | The value |
IndicateAchievementProgress(string, uint, uint)
Achievement progress - triggers an AchievementProgress callback, that is all. Calling this w/ N out of N progress will NOT set the achievement, the game must still do that.
Declaration
public static bool IndicateAchievementProgress(string pchName, uint nCurProgress, uint nMaxProgress)
Parameters
| Type | Name | Description |
|---|---|---|
| string | pchName | Passed through to |
| uint | nCurProgress | Passed through to |
| uint | nMaxProgress | Passed through to |
Returns
| Type | Description |
|---|---|
| bool | The value |
RequestGlobalAchievementPercentages()
Requests that Steam fetch data on the percentage of players who have received each achievement for the game globally. This call is asynchronous, with the result returned in GlobalAchievementPercentagesReady_t.
Declaration
public static SteamAPICall_t RequestGlobalAchievementPercentages()
Returns
| Type | Description |
|---|---|
| SteamAPICall_t | The value |
RequestGlobalAchievementPercentagesAsync()
Async version of RequestGlobalAchievementPercentages().
Declaration
public static Task<GlobalAchievementPercentagesReady_t> RequestGlobalAchievementPercentagesAsync()
Returns
| Type | Description |
|---|---|
| Task<GlobalAchievementPercentagesReady_t> | The GlobalAchievementPercentagesReady_t Steam reports once the call completes. |
RequestGlobalStats(int)
Requests global stats data, which is available for stats marked as "aggregated". This call is asynchronous, with the results returned in GlobalStatsReceived_t. nHistoryDays specifies how many days of day-by-day history to retrieve in addition to the overall totals. The limit is 60.
Declaration
public static SteamAPICall_t RequestGlobalStats(int nHistoryDays)
Parameters
| Type | Name | Description |
|---|---|---|
| int | nHistoryDays | Passed through to |
Returns
| Type | Description |
|---|---|
| SteamAPICall_t | The value |
RequestGlobalStatsAsync(int)
Async version of RequestGlobalStats(int).
Declaration
public static Task<GlobalStatsReceived_t> RequestGlobalStatsAsync(int nHistoryDays)
Parameters
| Type | Name | Description |
|---|---|---|
| int | nHistoryDays | Passed through to |
Returns
| Type | Description |
|---|---|
| Task<GlobalStatsReceived_t> | The GlobalStatsReceived_t Steam reports once the call completes. |
RequestUserStats(CSteamID)
Friends stats & achievements downloads stats for the user returns a UserStatsReceived_t received when completed if the other user has no stats, UserStatsReceived_t.m_eResult will be set to k_EResultFail these stats won't be auto-updated; you'll need to call RequestUserStats() again to refresh any data
Declaration
public static SteamAPICall_t RequestUserStats(CSteamID steamIDUser)
Parameters
| Type | Name | Description |
|---|---|---|
| CSteamID | steamIDUser | Passed through to |
Returns
| Type | Description |
|---|---|
| SteamAPICall_t | The value |
RequestUserStatsAsync(CSteamID)
Async version of RequestUserStats(CSteamID).
Declaration
public static Task<UserStatsReceived_t> RequestUserStatsAsync(CSteamID steamIDUser)
Parameters
| Type | Name | Description |
|---|---|---|
| CSteamID | steamIDUser | Passed through to |
Returns
| Type | Description |
|---|---|
| Task<UserStatsReceived_t> | The UserStatsReceived_t Steam reports once the call completes. |
ResetAllStats(bool)
Reset stats
Declaration
public static bool ResetAllStats(bool bAchievementsToo)
Parameters
| Type | Name | Description |
|---|---|---|
| bool | bAchievementsToo | Passed through to |
Returns
| Type | Description |
|---|---|
| bool | The value |
SetAchievement(string)
Calls the Steamworks ISteamUserStats::SetAchievement method.
Declaration
public static bool SetAchievement(string pchName)
Parameters
| Type | Name | Description |
|---|---|---|
| string | pchName | Passed through to |
Returns
| Type | Description |
|---|---|
| bool | The value |
SetStat(string, int)
Calls the Steamworks ISteamUserStats::SetStat method.
Declaration
public static bool SetStat(string pchName, int nData)
Parameters
| Type | Name | Description |
|---|---|---|
| string | pchName | Passed through to |
| int | nData | Passed through to |
Returns
| Type | Description |
|---|---|
| bool | The value |
SetStat(string, float)
Calls the Steamworks ISteamUserStats::SetStat method.
Declaration
public static bool SetStat(string pchName, float fData)
Parameters
| Type | Name | Description |
|---|---|---|
| string | pchName | Passed through to |
| float | fData | Passed through to |
Returns
| Type | Description |
|---|---|
| bool | The value |
StoreStats()
Store the current data on the server, will get a callback when set And one callback for every new achievement If the callback has a result of k_EResultInvalidParam, one or more stats uploaded has been rejected, either because they broke constraints or were out of date. In this case the server sends back updated values. The stats should be re-iterated to keep in sync.
Declaration
public static bool StoreStats()
Returns
| Type | Description |
|---|---|
| bool | The value |
UpdateAvgRateStat(string, float, double)
Calls the Steamworks ISteamUserStats::UpdateAvgRateStat method.
Declaration
public static bool UpdateAvgRateStat(string pchName, float flCountThisSession, double dSessionLength)
Parameters
| Type | Name | Description |
|---|---|---|
| string | pchName | Passed through to |
| float | flCountThisSession | Passed through to |
| double | dSessionLength | Passed through to |
Returns
| Type | Description |
|---|---|
| bool | The value |
UploadLeaderboardScore(SteamLeaderboard_t, ELeaderboardUploadScoreMethod, int, int[], int)
Uploads a user score to the Steam back-end. This call is asynchronous, with the result returned in LeaderboardScoreUploaded_t Details are extra game-defined information regarding how the user got that score pScoreDetails points to an array of int32's, cScoreDetailsCount is the number of int32's in the list
Declaration
public static SteamAPICall_t UploadLeaderboardScore(SteamLeaderboard_t hSteamLeaderboard, ELeaderboardUploadScoreMethod eLeaderboardUploadScoreMethod, int nScore, int[] pScoreDetails, int cScoreDetailsCount)
Parameters
| Type | Name | Description |
|---|---|---|
| SteamLeaderboard_t | hSteamLeaderboard | Passed through to |
| ELeaderboardUploadScoreMethod | eLeaderboardUploadScoreMethod | Passed through to |
| int | nScore | Passed through to |
| int[] | pScoreDetails | Passed through to |
| int | cScoreDetailsCount | Passed through to |
Returns
| Type | Description |
|---|---|
| SteamAPICall_t | The value |
UploadLeaderboardScoreAsync(SteamLeaderboard_t, ELeaderboardUploadScoreMethod, int, int[], int)
Async version of UploadLeaderboardScore(SteamLeaderboard_t, ELeaderboardUploadScoreMethod, int, int[], int).
Declaration
public static Task<LeaderboardScoreUploaded_t> UploadLeaderboardScoreAsync(SteamLeaderboard_t hSteamLeaderboard, ELeaderboardUploadScoreMethod eLeaderboardUploadScoreMethod, int nScore, int[] pScoreDetails, int cScoreDetailsCount)
Parameters
| Type | Name | Description |
|---|---|---|
| SteamLeaderboard_t | hSteamLeaderboard | Passed through to |
| ELeaderboardUploadScoreMethod | eLeaderboardUploadScoreMethod | Passed through to |
| int | nScore | Passed through to |
| int[] | pScoreDetails | Passed through to |
| int | cScoreDetailsCount | Passed through to |
Returns
| Type | Description |
|---|---|
| Task<LeaderboardScoreUploaded_t> | The LeaderboardScoreUploaded_t Steam reports once the call completes. |