Skip to content

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.