Skip to content

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.