Skip to main content

BP_SPM_Library Functions

BP_SPM_Library (at Content/SteamPartyMenu/Blueprints/Libraries/BP_SPM_Library) is the main Blueprint Function Library: pure/static helpers callable from any graph. Reference by group:

Component Getters

FunctionReturns
GetPartyManagerThe BPC_PartyManager from the player controller. Your #1 entry point from widgets.
GetPartyManagerSoftRefSame, as a soft reference (safe during travel).
GetMatchmakerThe BPC_Matchmaking component (work in progress, testing only).
Get Player DataThe BPC_PlayerData from the player state.
Get Player Data from Player StateSame, from an explicit PlayerState input (for remote players in match).
GetCustomizationComponentThe BPC_CharacterCustomization from an actor.

Lobby & Steam Helpers

FunctionPurpose
Is In Lobby?Whether the local player is currently in a lobby.
Get Joined LobbyCurrent lobby ID (validated).
Get Joined SIK SessionCurrent SIK session, if any.
IsLocalUserLobbyOwnerIs the local player the party host? Gates all host-only UI/logic.
IsUserLobbyOwnerIs a specific user the host?
IsSameSteamID / Compare Steam ID'sSteam ID equality (handles struct vs int64 forms).
Get Player Cloud DataReads a cloud data value for a player by key.
Set Saved Member Lobby DataWrites the local player's saved data (skin etc.) into lobby member data.
PersonaState Enum to String / LobbyType Enum to StringDisplay helpers for Steam enums.

Game Server State

FunctionPurpose
SetGameServerState / GetGameServerStateWrite/read E_GameServerState on a lobby. See SIK Utility Functions.

Maps & Travel

FunctionPurpose
Get Open Level from Map NameResolves a MapsDataAsset soft world reference from the map name stored in lobby data.
GetTravelStringFromMapStringMap name → console travel string.
Get Last Map Used / Get Last Gamemode Used / Get Last Party Size UsedRead the host's previously used match settings from saved data (used as defaults when creating a party).

Settings

FunctionPurpose
Get Current Set Game SettingsCurrently applied graphics settings as S_GraphicsSettings.
IsSavedGraphicsSettingsDifferent?Compares saved vs applied settings (drives the Keep Current / Load Saved dialog).
Set Player Graphics Settings / Set Default Graphics SettingsApply graphics settings.
ApplyAudioVolumeSettingsApply saved volumes to the SPM sound classes.

Characters

FunctionPurpose
Get Skin Mesh with AnimResolves skin type + variation keys into (soft) mesh + anim BP via the CharacterDataAsset list.
Reset Main Spot Character Skin from SaveReapplies the locally saved skin to the local avatar.

Input & UI

FunctionPurpose
Set Input Mode CustomWrapper for switching Game / UI / GameAndUI input modes consistently.
ReturnFocusToWidgetRestores keyboard focus after closing popups (important for Escape key handling).
IsPIEModeTrue in PIE. Used to branch around Steam-only features when testing in editor.

Matchmaking String Utilities

Preference-comparison helpers used by the matchmaking component (work in progress):

FunctionPurpose
Convert Session SettingsConverts settings into the SIK session settings format.
ParseCommaSeparatedStringSplits a preference string into items.
StringContainsAllItems / StringItemsExactMatchSet comparison of preference items.
ArePreferencesMatching / ArePreferencesMatchingDetailedFull preference compatibility check between two parties (detailed variant reports which preference failed).

Other Libraries

LibraryFunctions
BP_HUD_LibraryGet HUD Manager: returns BPC_PlayerHUD via BPI_HudManagerInterface.
BPML_SPM_Widgets (widget helpers)Get Validated Lobby ID, Load and Set Texture 2D Asset, Load And Play Sound 2D, Get Steam User Data (persona name + avatar for a Steam ID).
BPML_ActorsLoadAndSetSkeletalMesh, LoadAndSetStaticMesh: async soft-reference loaders for actors.
BPML_ComponentsLoadAndSetSkeletalMesh, LoadMaterialInstance, LoadMultipleSoftObjectAssets, LoadAndSetAnimInstance, ValidateAllMemberLobbyData.