Structures
This section describes all data structures used throughout the PloxTools: Steam Integration plugin.
These structures represent data returned by Steamworks APIs and are used consistently across both Blueprint and C++ workflows.
Each structure is documented with its fields, data types, and references to related enumerations or other structures where applicable.
Achievements
FSteamAchievement
Represents the current state of a single Steam achievement for the local user.
This structure is populated by the plugin and reflects achievement data retrieved from Steam.
| Field | Type | Description |
|---|---|---|
| ID | FString |
Unique identifier of the achievement as defined in Steamworks. |
| bUnlocked | bool |
Indicates whether the achievement is unlocked. |
| bHidden | bool |
Indicates whether the achievement is hidden. |
| DateTime | FDateTime |
Date and time (UTC) when the achievement was unlocked. Valid only if bUnlocked is true. |
| DisplayName | FString |
Localized display name of the achievement. |
| Description | FString |
Localized description of the achievement. |
FAchievementDateTime
Represents an achievement unlock state with an associated date and time.
This structure is typically used to describe whether an achievement has been unlocked and, if so, when it occurred.
| Field | Type | Description |
|---|---|---|
| bUnlocked | bool |
Indicates whether the achievement is unlocked. |
| DateTime | FDateTime |
Date and time (UTC) when the achievement was unlocked. Valid only if bUnlocked is true. |
Cloud Saves
FSteamCloudFileInfo
Represents a single file stored in Steam Cloud.
This structure contains basic metadata about a cloud file available for the local user.
| Field | Type | Description |
|---|---|---|
| FileName | FString |
Name of the file stored in Steam Cloud. |
| SizeInBytes | int32 |
Size of the file in bytes. |
| Timestamp | int64 |
Unix timestamp of the last file modification. |
FSteamCloudQuotaInfo
Represents Steam Cloud storage quota information for the local user.
This structure provides details about total and available cloud storage capacity.
| Field | Type | Description |
|---|---|---|
| TotalBytes | int64 |
Total available cloud storage in bytes. |
| AvailableBytes | int64 |
Currently available cloud storage in bytes. |
Friends
FSteamFriendGameInfo
Represents information about a friend's current game session.
This structure provides basic details about whether a friend is currently playing a game and related session data.
| Field | Type | Description |
|---|---|---|
| bIsInGame | bool |
Indicates whether the friend is currently in a game. |
| AppID | int32 |
Steam App ID of the game the friend is playing. |
| GameLobbyID | int64 |
Lobby ID if the friend is currently in a lobby, or 0 if not available. |
FSteamFriend
Represents a Steam friend with basic social and presence information.
This structure contains identity, relationship, and online state data for a Steam friend.
| Field | Type | Description |
|---|---|---|
| UserID | FSteamUserID |
Unique Steam user identifier of the friend. |
| PersonaName | FString |
Display name of the friend. |
| PersonaState | ESteamPersonaState |
Current persona (online) state of the friend. |
| Relationship | ESteamFriendRelationship |
Relationship between the local user and this friend. |
| bIsOnline | bool |
Indicates whether the friend is currently online. |
Leaderboards
FSteamLeaderboardID
Represents a unique Steam leaderboard identifier.
This structure is used to reference a specific leaderboard internally within the plugin.
| Field | Type | Description |
|---|---|---|
| Value | int64 |
Internal Steam leaderboard handle value. |
FSteamLeaderboardEntry
Represents a single entry in a Steam leaderboard.
This structure contains score and ranking information associated with a specific Steam user.
| Field | Type | Description |
|---|---|---|
| UserID | FSteamUserID |
Steam user who owns this leaderboard entry. |
| Score | int32 |
Score value of the entry. |
| GlobalRank | int32 |
Global rank position of the entry. |
| Details | TArray<int32> |
Optional additional data associated with the score. |
FSteamUploadScoreResult
Represents the result of uploading a score to a Steam leaderboard.
This structure describes whether the score was updated and how the global rank changed.
| Field | Type | Description |
|---|---|---|
| bScoreChanged | bool |
Indicates whether the uploaded score changed the leaderboard value. |
| GlobalRankNew | int32 |
New global rank after uploading the score. |
| GlobalRankPrevious | int32 |
Global rank before uploading the score. |
FSteamDownloadScoresResult
Represents the result of downloading leaderboard entries.
This structure contains a list of leaderboard entries retrieved from Steam.
| Field | Type | Description |
|---|---|---|
| Entries | TArray<[FSteamLeaderboardEntry](structures.md#fsteamleaderboardentry)> |
List of downloaded leaderboard entries. |
Lobbies
FSteamLobbyID
Represents a unique Steam lobby identifier.
This structure is used to reference a specific lobby within the Steam services.
| Field | Type | Description |
|---|---|---|
| Value | int64 |
Internal Steam lobby handle value. |
FSteamLobbyMember
Represents a single member of a Steam lobby.
This structure provides basic identity and ownership information for a lobby participant.
| Field | Type | Description |
|---|---|---|
| UserID | FSteamUserID |
Steam user identifier of the lobby member. |
| PersonaName | FString |
Display name of the lobby member. |
| bIsOwner | bool |
Indicates whether this member is the lobby owner. |
FSteamLobbyListenerHandle
Represents a handle to a registered Steam Lobbies event listener.
This structure is used to reference and manage active lobby-related callbacks.
| Field | Type | Description |
|---|---|---|
| Value | int64 |
Internal listener handle value. |
Overlay
FSteamJoinRequest
Represents a request to join a game session initiated through the Steam Overlay.
This structure is typically received when another user invites the local player to join a game or lobby.
| Field | Type | Description |
|---|---|---|
| FromUser | FSteamUserID |
Steam user who initiated the join request. |
| LobbyID | FSteamLobbyID |
Steam lobby identifier to join, or 0 if the request is not lobby-based. |
| ConnectString | FString |
Rich presence or custom connection string provided with the request. |
FSteamOverlayListenerHandle
Represents a handle to a registered Steam Overlay event listener.
This structure is used to reference and manage active overlay-related callbacks.
| Field | Type | Description |
|---|---|---|
| Value | int64 |
Internal listener handle value. |
Presence
FSteamPresenceSnapshot
Represents a local snapshot of Rich Presence values set by the game.
This structure contains key-value pairs currently applied to the local user's Steam Rich Presence.
| Field | Type | Description |
|---|---|---|
| Values | TMap<FString, FString> |
Collection of Rich Presence key-value pairs currently set by the game. |
FSteamFriendPresence
Represents a read-only view of another user's Rich Presence.
This structure is typically used for displaying Rich Presence information in friend lists or UI elements.
| Field | Type | Description |
|---|---|---|
| UserID | FSteamUserID |
Steam user identifier this presence belongs to. |
| Values | TMap<FString, FString> |
Rich Presence key-value pairs exposed by Steam for this user. |
Screenshots
FSteamScreenshotHandle
Represents a unique Steam screenshot handle.
This structure is used to reference a screenshot submitted to Steam.
| Field | Type | Description |
|---|---|---|
| Value | int32 |
Internal Steam screenshot handle value. |
FSteamScreenshotsListenerHandle
Represents a handle used to manage screenshot-related event subscriptions.
This structure is used to reference active listeners for Steam screenshot events.
| Field | Type | Description |
|---|---|---|
| Value | int64 |
Internal listener handle value. |
User
FSteamUserID
Represents a unique Steam user identifier.
This structure is used throughout the plugin to identify Steam users in a platform-agnostic and Blueprint-friendly way.
| Field | Type | Description |
|---|---|---|
| Value | int64 |
Internal Steam user identifier value. |
FSteamUserIdentity
Contains basic identity information about a Steam user.
This structure represents public identity data for both the local user and other Steam users.
| Field | Type | Description |
|---|---|---|
| UserID | FSteamUserID |
Unique Steam user identifier. |
| PersonaName | FString |
Display name of the Steam user. |
| PersonaState | ESteamPersonaState |
Current persona (online) state of the user. |
| bIsLocalUser | bool |
Indicates whether this identity represents the local Steam user. |