Structures
This section describes the public data structures used throughout PloxTools: Steam Integration.
These structures represent data returned by Steamworks or exchanged with plugin APIs. They are shared by both Blueprint and C++ workflows.
Each structure is documented with its public fields, data types, and links to related enumerations or structures where applicable.
Achievements
FSteamAchievement
Represents the current state and localized metadata of a Steam achievement for the local user.
| Field | Type | Description |
|---|---|---|
| ID | FString |
Achievement identifier 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. |
FSteamAchievementDateTime
Represents an achievement unlock state together with its unlock date and time.
| 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 metadata for a file stored in Steam Cloud.
| Field | Type | Description |
|---|---|---|
| FileName | FString |
File name in Steam Cloud. |
| SizeInBytes | int32 |
File size in bytes. |
| Timestamp | int64 |
Unix timestamp of last modification. |
DLC
FSteamDLCInfo
Represents information about a DLC item associated with the current Steam application.
| Field | Type | Description |
|---|---|---|
| AppID | int32 |
Steam App ID of the DLC. |
| Name | FString |
Display name configured for the DLC in Steam. |
| bIsAvailable | bool |
True if Steam reports the DLC as currently available. |
| bIsInstalled | bool |
True if the DLC is installed on the local machine. |
FSteamDLCListenerHandle
Identifies an active DLC event subscription.
| Field | Type | Description |
|---|---|---|
| Value | int64 |
Internal handle value used to identify this DLC event subscription. |
Friends
FSteamFriendGameInfo
Represents information about a friend's current Steam game session.
| Field | Type | Description |
|---|---|---|
| bIsInGame | bool |
True if 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 in a lobby (0 if not available). |
FSteamFriend
Represents a Steam friend with identity, relationship, and online-state information.
| Field | Type | Description |
|---|---|---|
| UserID | FSteamUserID |
Unique Steam user ID 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 |
True if the friend is currently online. |
Leaderboards
FSteamLeaderboardID
Represents a unique Steam leaderboard identifier.
| Field | Type | Description |
|---|---|---|
| Value | int64 |
Internal Steam leaderboard handle value. |
FSteamLeaderboardEntry
Represents a single entry in a Steam leaderboard.
| Field | Type | Description |
|---|---|---|
| UserID | FSteamUserID |
Steam user who owns this leaderboard entry. |
| Score | int32 |
Score value of the entry. |
| GlobalRank | int32 |
Global rank 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.
| Field | Type | Description |
|---|---|---|
| bScoreChanged | bool |
True if the score was changed on the leaderboard. |
| GlobalRankNew | int32 |
New global rank after uploading the score. |
| GlobalRankPrevious | int32 |
Previous global rank before uploading the score. |
FSteamDownloadScoresResult
Contains leaderboard entries returned by a score download operation.
| Field | Type | Description |
|---|---|---|
| Entries | TArray<FSteamLeaderboardEntry> |
List of downloaded leaderboard entries. |
Lobbies
FSteamLobbyID
Represents a unique Steam lobby identifier.
| Field | Type | Description |
|---|---|---|
| Value | int64 |
Internal Steam lobby handle value. |
FSteamLobbySearchFilter
Defines a single metadata filter used when searching for Steam lobbies.
| Field | Type | Description |
|---|---|---|
| Key | FString |
Lobby data key to compare. |
| Type | ESteamLobbySearchFilterType |
Whether String Value or Numeric Value is used. |
| Comparison | ESteamLobbyComparison |
Comparison operation applied by Steam. |
| StringValue | FString |
Value used when Type is String. |
| NumericValue | int32 |
Value used when Type is Numeric. |
FSteamLobbyMember
Represents a member of a Steam lobby.
| Field | Type | Description |
|---|---|---|
| UserID | FSteamUserID |
Steam user ID of the member. |
| PersonaName | FString |
Display name of the member. |
| bIsOwner | bool |
True if this member is the lobby owner. |
FSteamLobbyListenerHandle
Identifies an active Steam Lobbies event subscription.
| Field | Type | Description |
|---|---|---|
| Value | int64 |
Internal handle value used to identify this lobby event subscription. |
Multiplayer
FSteamMultiplayerListenerHandle
Identifies an active managed Multiplayer event subscription.
| Field | Type | Description |
|---|---|---|
| Value | int64 |
Internal handle value used to identify this multiplayer event subscription. |
FSteamCurrentGame
Describes the currently active managed Steam game from the local player perspective.
| Field | Type | Description |
|---|---|---|
| bIsValid | bool |
True when the struct describes an active managed Steam game. |
| LobbyID | FSteamLobbyID |
Steam lobby backing the current managed game. |
| HostUserID | FSteamUserID |
Steam user ID of the current host. |
| MapPackageName | FString |
Unreal package path of the map currently associated with the game. |
| MaxPlayers | int32 |
Maximum number of players configured for the current game. |
| MultiplayerVersion | FString |
Project-defined compatibility version of the current game. |
| bAllowJoinInProgress | bool |
True when new players may join after the managed game has started. |
| LocalRole | ESteamMultiplayerRole |
Local role inside the current managed game. |
FSteamGameSearchResult
Represents a managed Steam game returned by a Multiplayer search.
| Field | Type | Description |
|---|---|---|
| LobbyID | FSteamLobbyID |
Steam lobby used to join this game. |
| HostUserID | FSteamUserID |
Steam user ID advertised by the host. |
| MapPackageName | FString |
Unreal package path of the map currently hosted by this game. |
| MaxPlayers | int32 |
Maximum number of players configured by Host Steam Game. |
| MultiplayerVersion | FString |
Project-defined compatibility version advertised by the host. |
| bAllowJoinInProgress | bool |
True when the host currently allows new players to join. |
Overlay
FSteamJoinRequest
Represents a lobby-based or Rich Presence join request delivered to the local game through the Overlay API. This structure describes the requested destination; it does not indicate a completed lobby or Unreal networking connection. See Steam Invitations and Join Requests for usage and callback differences.
| Field | Type | Description |
|---|---|---|
| FromUser | FSteamUserID |
Steam user associated with the join request, when available. |
| LobbyID | FSteamLobbyID |
Steam lobby ID to join (0 if not a lobby-based join). |
| ConnectString | FString |
Rich presence or custom connect string (empty if not provided). |
FSteamOverlayListenerHandle
Identifies an active Steam Overlay event subscription.
| Field | Type | Description |
|---|---|---|
| Value | int64 |
Internal handle value used to identify this overlay event subscription. |
Presence
FSteamPresenceSnapshot
Represents a local snapshot of Rich Presence values currently set by the game.
| Field | Type | Description |
|---|---|---|
| Values | TMap<FString, FString> |
Key-value pairs currently set by the game. |
FSteamFriendPresence
Represents a read-only view of another Steam user's Rich Presence values.
| Field | Type | Description |
|---|---|---|
| UserID | FSteamUserID |
Steam user this presence belongs to. |
| Values | TMap<FString, FString> |
Presence key-value pairs exposed by Steam for this user. |
Screenshots
FSteamScreenshotHandle
Represents a Steam screenshot handle.
| Field | Type | Description |
|---|---|---|
| Value | int32 |
Internal Steam screenshot handle value. |
FSteamScreenshotsListenerHandle
Identifies an active Steam Screenshots event subscription.
| Field | Type | Description |
|---|---|---|
| Value | int64 |
Internal handle value used to identify this screenshot event subscription. |
Steam Input
FSteamInputDevice
Represents a connected Steam Input device using its opaque Steam Input handle.
| Field | Type | Description |
|---|---|---|
| Value | int64 |
Internal Steam Input handle. Treat this value as opaque. |
FSteamInputOrigin
Represents a Steam Input action origin using the underlying Steam origin value.
| Field | Type | Description |
|---|---|---|
| Value | int32 |
Internal Steam Input action origin value. |
FSteamInputMotionData
Contains motion data reported by a Steam Input device.
| Field | Type | Description |
|---|---|---|
| Rotation | FQuat |
Controller rotation reported by Steam Input. |
| Acceleration | FVector |
Controller acceleration reported by Steam Input. |
| AngularVelocity | FVector |
Controller angular velocity reported by Steam Input. |
FSteamInputListenerHandle
Identifies an active Steam Input event subscription.
| Field | Type | Description |
|---|---|---|
| Value | int64 |
Internal handle value used to identify this Steam Input event subscription. |
User
FSteamUserID
Represents a unique Steam user identifier in a Blueprint-friendly form.
| Field | Type | Description |
|---|---|---|
| Value | int64 |
Internal Steam user ID value. |
FSteamUserIdentity
Contains basic public identity information about a Steam user.
| Field | Type | Description |
|---|---|---|
| UserID | FSteamUserID |
Unique Steam user ID. |
| PersonaName | FString |
Display name of the Steam user. |
| PersonaState | ESteamPersonaState |
Current persona (online) state of the user. |
| bIsLocalUser | bool |
True if this user represents the local Steam user. |
Voice Chat
FSteamVoiceChatListenerHandle
Identifies an active Steam Voice Chat event subscription.
| Field | Type | Description |
|---|---|---|
| Value | int64 |
Internal handle value used to identify this Voice Chat event subscription. |