EOS Advanced Session

Functions

Overview of all available Blueprint nodes, utilities, data structures, and enums for EOS Advanced Session.
EOS ADVANCED SESSION (FAB Listing)

EOS Advanced Session — Functions

This page describes every Blueprint node and utility function included with EOS Advanced Session, with beginner-friendly explanations and practical examples.

If you're new to EOS sessions, follow the nodes in this order: Login → Create Session (host) or Find + Join Session (client)


Understanding the Basics

Before diving into individual nodes, here are a few key concepts:

What is a Session?
A session is an online game room. The host creates it, and other players search for and join it. EOS manages the discovery and connection for you.

What is a Lobby?
A lobby is a special type of session with extra features like voice chat and easier invite systems. Enable bUse Lobbies If Available to use them.

What are Extra Settings?
Extra settings are custom key/value pairs you attach to a session, like MapName = "Desert" or GameMode = "Deathmatch". Other players can search and filter by these values.


Typical Flow

[Player opens game]
       ↓
  EOS Login Async          ← authenticate with Epic
       ↓
  ┌────────────────────────────────────┐
  │  HOST               │  CLIENT      │
  │  EOS Create         │  EOS Find    │
  │  Advanced Session   │  Advanced    │
  │                     │  Sessions    │
  │                     │      ↓       │
  │                     │  EOS Join    │
  │                     │  Session     │
  └────────────────────────────────────┘

Blueprint Node Preview


Asynchronous Nodes — How They Work

All major nodes (Login, Create, Find, Join) are asynchronous: they launch a network operation and call an output pin when finished, without freezing your game.

In Blueprints, you will not see a WorldContextObject input — Unreal Engine supplies it automatically behind the scenes.

Always wire your game logic to the OnSuccess or OnFailure output pins, never assume the operation finishes instantly.


Authentication

EOS Login Async

Logs in the local player using the Epic Games Store (default on PC). This is the standard login for shipped games.

When to use: At game startup, before any session action.

Inputs

NameTypeDescription
UserIdStringLeave empty — Epic fills this automatically
TokenStringLeave empty — Epic fills this automatically

Outputs

PinDescription
OnSuccessPlayer is logged in, you can now create or find sessions
OnFailureLogin failed (e.g. no internet, EOS service down)

EOS Login With Dev Auth Async

Logs in via the EOS Dev Auth Tool. Use this during development to simulate multiple players on a single machine (e.g. two PIE windows).

When to use: Editor/testing only. Do not ship this to players.

Inputs

NameTypeExample
UserIdStringlocalhost:8081
TokenStringPlayerOne (name you set in the Dev Auth Tool)

Outputs

PinDescription
OnSuccessLogged in with dev credentials
OnFailureCheck that the Dev Auth Tool is running and the port matches

EOS Logout

Logs out the local player from EOS.

Inputs

NameTypeDescription
Player ControllerAPlayerControllerThe local player to log out

Outputs

PinDescription
OnSuccessReturns a confirmation string message
OnFailedLogout failed

Session Management

EOS Create Advanced Session

Creates a new online session. Call this on the host's machine after a successful login.

When to use: When a player clicks "Host Game" in your menu.

Inputs

NameTypeDescriptionExample
Extra SettingsS_SessionPropertyKeyPair[]Custom properties other players can search byMapName = "Forest", GameMode = "CTF"
Player ControllerAPlayerControllerThe hosting player
Num Public ConnectionsIntegerMax number of players (including host)4
Num Private ConnectionsIntegerReserved slots (usually 0)0
bIs LAN MatchBooleanLAN only, no internetfalse
bAllow InvitesBooleanPlayers can invite friendstrue
bIs Dedicated ServerBooleanRunning on a dedicated serverfalse
bUses PresenceBooleanVisible in friends lists — recommended ONtrue
bUse Lobbies If AvailableBooleanUse EOS Lobby system if available (recommended)true
bAllow Join Via PresenceBooleanFriends can join from their friends listtrue
bAllow Join Via Presence Friends OnlyBooleanRestrict presence join to friends onlyfalse
bAnti-Cheat ProtectedBooleanEnable EAC anti-cheatfalse
bUses StatsBooleanRecord EOS stats for this sessionfalse
bShould AdvertiseBooleanMake session visible in search resultstrue
bUse Lobbies Voice Chat If AvailableBooleanEnable voice chat in lobbyfalse
bAllow Join In ProgressBooleanAllow joining after the match has startedfalse

Outputs

PinDescription
OnSuccessSession created — you can now travel to the game map
OnFailureCreation failed (check your EOS configuration)
After OnSuccess, call Server Travel to your game map. Use ?listen in the URL so clients can connect.

EOS Find Advanced Sessions

Searches for available sessions matching your criteria.

When to use: When a player clicks "Find Game" or "Browse Servers".

Inputs

NameTypeDescriptionExample
Player ControllerAPlayerControllerThe searching player
Max ResultsIntegerMaximum sessions to return50
bUse LANBooleanSearch LAN onlyfalse
Server Type To SearchE_ServerTypeToSearchFilter by server typeAll
FiltersS_SessionPropertyKeyPair[]Only return sessions matching these propertiesGameMode = "CTF"
bEmpty Servers OnlyBooleanOnly return empty sessionsfalse
bNon-Empty Servers OnlyBooleanOnly return sessions with playersfalse
bSecure Servers OnlyBooleanAnti-cheat sessions onlyfalse
bSearch LobbiesBooleanInclude EOS Lobbies in resultstrue

Outputs

PinDescription
OnSuccessReturns an array of FBlueprintSessionResult — pass each result to a UI list
OnFailureSearch failed
The Filters array uses the same keys as Extra Settings in Create Session. If the host set MapName = "Forest", you can filter by MapName = "Forest" to find only those sessions.

EOS Join Session Advanced

Joins a session selected by the player from search results.

When to use: When a player clicks a server in your server browser list.

Inputs

NameTypeDescription
Player ControllerAPlayerControllerThe joining player
Session ResultFBlueprintSessionResultThe session picked from EOS Find Advanced Sessions results

Outputs

PinDescription
OnSuccessReturns a message string — the client will automatically travel to the host's map
OnFailureJoin failed (session may be full or no longer available)

EOS Update Session

Updates an already existing session while it is running. Use this to change the number of available slots, toggle advertising, or update custom properties.

When to use: When the host changes map, game mode, or wants to open/close the session to new players.

Inputs

NameTypeDefaultDescription
Extra SettingsS_SessionPropertyKeyPair[]New custom properties
Public ConnectionsInteger2New max player count
Private ConnectionsInteger0Reserved slots
bUse LANBooleanfalse
bAllow InvitesBooleanfalse
bAllow Join In ProgressBooleanfalse
bRefresh Online DataBooleantruePush changes to EOS servers
bIs Dedicated ServerBooleanfalse
bShould AdvertiseBooleantrueKeep session visible in search

Outputs

PinDescription
OnSuccessReturns a confirmation string
OnFailureUpdate failed

Utility Functions

These are simple helper functions you can call anywhere in your Blueprints. They return a value instantly (no async pins).


Login Utilities

EOS Get Player Name

Returns the display name of the logged-in local player as shown on Epic Games.

  • Output: String (e.g. "PlayerOne")

EOS Player Is Connected

Checks whether the local player is currently connected to EOS.

  • Output: Booleantrue if connected, false otherwise

Use this before calling any session node to avoid errors.


EOS Get Unique Net ID

Returns the EOS unique network identifier for a player. Used to identify players across sessions.

  • Input: Player Controller
  • Output: FUniqueNetIdRepl

EOS Get Unique Net ID From Player State

Same as above, but reads the ID from the player's PlayerState (useful server-side or for remote players).

  • Input: Player Controller
  • Output: FUniqueNetIdRepl

EOS Get Unique Net ID To String

Converts a FUniqueNetIdRepl to a plain string so you can display or log it.

  • Input: UniqueNetId (FUniqueNetIdRepl)
  • Output: String

Session Utilities

EOS Make Literal Session Property String

Creates a single S_SessionPropertyKeyPair from a key and a string value. Use this to build your Extra Settings array.

  • Inputs: Key (FName), Value (String)
  • Output: S_SessionPropertyKeyPair

Example: Key = "MapName", Value = "Desert" → attach to the Extra Settings array of EOS Create Advanced Session.


EOS Get Session Property Setting

Reads a specific property value from an Extra Settings array by key name.

  • Inputs: ExtraSettings Input (S_SessionPropertyKeyPair[]), SettingsName (FName)
  • Outputs: Result (Found / Not Found), String (the value)

Example: Pass a session's extra settings and key "MapName" → get back "Desert".


EOS Filter Session Results

Filters an array of session results client-side by matching custom property values.

  • Inputs: Session Results (FBlueprintSessionResult[]), Filters (S_SessionPropertyKeyPair[])
  • Output: Filtered FBlueprintSessionResult[]

Use this after EOS Find Advanced Sessions to refine results locally (e.g. only show sessions where GameMode = "Deathmatch").


EOS Get Extra Settings

Extracts the Extra Settings array from a session result (e.g. to read the map name or game mode of a found session).

  • Input: Session Result (FBlueprintSessionResult)
  • Output: Extra Settings (S_SessionPropertyKeyPair[])

EOS Get Session Settings

Returns the full settings of the currently active session on the local machine.

Outputs

NameType
Public ConnectionsInteger
Private ConnectionsInteger
bIsLANMatchBoolean
bIsDedicatedServerBoolean
bAllowInvitesBoolean
bAntiCheatProtectedBoolean
Build Unique IDInteger
Extra SettingsS_SessionPropertyKeyPair[]

EOS Get Session State

Returns the lifecycle state of the current session.

  • Output: EEOSSessionState
StateMeaning
NoSessionNo session exists
CreatingSession is being created
PendingSession created but not started
StartingSession is starting
InProgressMatch is running
EndingSession is ending
EndedSession has ended
DestroyingSession is being destroyed

Data Structures & Enums

S_SessionPropertyKeyPair

A simple key/value pair used to attach custom data to a session.

FieldTypeExample
KeyFName"MapName"
ValueString"Forest"

Use EOS Make Literal Session Property String to create these in Blueprints.


S_PlayerData

Holds basic info about a player.

FieldType
Player NameString
UniqueNetIdFUniqueNetIdRepl

E_ServerTypeToSearch

Used in EOS Find Advanced Sessions to filter by server type.

ValueDescription
AllReturn all session types
Dedicated Servers OnlyOnly dedicated server sessions
Player Hosted Servers OnlyOnly listen-server sessions

EEOSSessionState

Represents the current state of a session (see EOS Get Session State above).


EResult

A simple enum returned by lookup functions.

ValueMeaning
FoundThe requested item was found
Not FoundThe requested item does not exist