Skip to main content

Core Blueprints Reference

Details of the framework classes in Content/SteamPartyMenu/Blueprints/Core/ and the demo classes that show how to use them in a match. For the big picture see Project Architecture.

BP_SPM_Gameinstance

Parent: GameInstance · Implements BPI_GameInstanceInterface

The only persistent object across level travel. Deliberately minimal, it stores:

VariablePurpose
Lobby IdThe current Steam party lobby. Written on lobby create/enter (GI_SetLobbyID), read anywhere via GI_GetLobbyID. This is how the party survives traveling to a match and back.
Network Error? + FailureTypeSet from the engine NetworkError event; checked on returning to the menu so the UI can show a network error notification (with the Network Error Sound). Also consults GetGameServerState to decide whether the disconnect happened during a live match (enables rejoin).

If you have your own GameInstance, reparent it to this class (see Migration Steps).

BP_SPM_PartyController

Parent: PlayerController

The menu controller. Contains a single component, BPC_PartyManager (type Menu), and no other logic. All party behavior lives in the component, so you can add the component to your own controller instead of using this class.

BP_SPM_PartyGameMode

Parent: GameMode

Game mode of the PartyMenu level. Intentionally empty; it exists to pair the party controller, BP_PlayerState and the menu avatar defaults. Set as the project's Global Default Game Mode.

BP_PlayerState

Parent: PlayerState

Carries BPC_PlayerData. Player state is used (rather than the controller) so player data is also available on the server/other clients in match levels.

BP_PartySpot

Parent: Actor

One pedestal in the menu level; the PartyMenu map contains four of them, identified by the SpotIndex variable (E_SpotIndex: MainSpot, Index 1–3). MainSpot is always the local player.

Components: Pedestal Mesh, Niagara (spot FX), RectLight, Widget (shows WB_PartySpotIcon), Arrow (avatar spawn transform).

MemberPurpose
Set Pedestal StateApplies E_PedestalState (Default / Highlighted / Unhighlighted / Ready), driving light, FX and materials.
Spot User IDSteam ID of the member currently occupying this spot.
CanUnhiglight?Guards hover-out behavior while a menu for this spot is open.

The Party Manager finds all spots at startup (AllSpots) and assigns members to them by their member index in lobby data.

BP_GC_PartyAvatar

Parent: Character

The visual avatar spawned on a spot (Menu Avatar Class in the Party Manager settings). Carries BPC_CharacterCustomization (Character Type = Menu Avatar). Replaceable with your own character class as long as it uses one skeletal mesh and has the customization component.

BP_NamePlate

Parent: Actor

Floating plate above an avatar showing the member's Steam persona name (Widget_UserPlate component with WB_AvatarUserPlate). Spawned/positioned by BPC_CharacterCustomization using the Name Plate X/Y/Z offsets.

Demo Content (DemoContent/Blueprints/)

These show the intended way to wire SPM into an actual match:

BP_SPM_GamePlayerController

Parent: BP_SPM_PartyController. Inherits the Party Manager, with Party Manager Type = Game, so in match levels the component only manages the escape menu and leaving the session.

BP_SPM_MatchGamemode

Parent: GameMode. Example match game mode:

VariablePurpose
All Player StartsCollected Player Starts for spreading spawns.
Server Lobby IdThe party lobby that owns this server (read on the host).
Gamemode NameDisplay name for the match HUD.

Use it as reference for your own game modes: read the lobby ID, spawn BP_GameCharacter pawns, and let the customization component apply each player's skin.

BP_GameCharacter

Parent: Character. Third-person demo character with CameraBoom, FollowCamera and BPC_CharacterCustomization (type Game Character) so the skin chosen in the menu appears in-match via replication.

SquareFlip Minigame (Blueprints/Gamemodes/SquareFlip/)

A complete mini game mode demo: BP_SquareFlipGM, BP_SquareFlipPC, BP_FirstPersonCharacter, BP_SquareTile (uses BPI_InteractInterface → LiffTile). Played on the SquareFlip map, it is proof that any game mode can sit on top of the party framework.

Structures & Save Game

AssetContents
S_GraphicsSettingsResolution, window mode, quality settings
S_AudioSettingsPer sound class volumes
S_AccountSettingsAccount options
SG_PlayerDataThe save game: the three structs above + GamePreferences and PlayerDataMap string maps (see Save Game & Steam Cloud)

Enums

EnumValues
E_GameServerStateNoServer, Starting, Live, Shutdown
E_ComponentTypeDisabled, Menu, Game
E_SpotIndexMainSpot, Index 1, Index 2, Index 3
E_CharacterTypeMenu Avatar, Game Character, First Person
E_PedestalStateDefault, Highlighted, Unhighlighted, Ready