LootLocker Unreal SDK 10.4.0
Game backend SDK for Unreal Engine
Loading...
Searching...
No Matches
Remote Sessions

Detailed Description

Log in to a different platform than the one you are currently playing on.

Part of Unified Player Accounts (UPA). A player on one platform (e.g., Nintendo Switch) can authenticate as their account on another platform (e.g., Steam) without needing the target platform's native app. The flow uses an 8-digit code verified through https://auth.game.

See the LootLocker documentation.

Typedef Documentation

◆ FLootLockerLeaseRemoteSessionResponseDelegate

typedef void(* FLootLockerLeaseRemoteSessionResponseDelegate) (FLootLockerLeaseRemoteSessionResponse)

C++ response delegate for receiving the remote session lease information.

◆ FLootLockerRefreshRemoteSessionResponseDelegate

typedef void(* FLootLockerRefreshRemoteSessionResponseDelegate) (FLootLockerRefreshRemoteSessionResponse)

C++ response delegate for receiving the refreshed remote session.

◆ FLootLockerRemoteSessionStatusPollingResponseDelegate

typedef void(* FLootLockerRemoteSessionStatusPollingResponseDelegate) (FLootLockerRemoteSessionStatusPollingResponse)

C++ response delegate for receiving continual polling updates.

◆ FLootLockerStartRemoteSessionResponseDelegate

typedef void(* FLootLockerStartRemoteSessionResponseDelegate) (FLootLockerStartRemoteSessionResponse)

C++ response delegate for receiving the finalized remote session data (whether successful or not)

Enumeration Type Documentation

◆ ELootLockerRemoteSessionLeaseIntent

enum class ELootLockerRemoteSessionLeaseIntent : uint8
strong

Possible intents for remote sessions.

Enumerator
login 

Intent is to log in using a leased remote session.

link 

Intent is to link different providers.

◆ ELootLockerRemoteSessionLeaseStatus

enum class ELootLockerRemoteSessionLeaseStatus : uint8
strong

Possible entity kinds that catalog entries can have.

Enumerator
Created 
Claimed 
Verified 
Authorized 
Cancelled 
Timed_out 
Failed 

Function Documentation

◆ CancelRemoteSessionProcess()

static void ULootLockerSDKManager::CancelRemoteSessionProcess ( const FString &  ProcessID)
static

Cancel a remote session process.

Parameters
ProcessIDRemote session process id

◆ RefreshRemoteSession() [1/2]

static FString ULootLockerSDKManager::RefreshRemoteSession ( const FLootLockerRefreshRemoteSessionResponseDelegate OnCompletedRequest,
const FString &  ForPlayerWithUlid = "" 
)
inlinestatic

Refresh a remotely started session.

401 means the refresh token expired and a new login is required.

Parameters
OnCompletedRequestDelegate for handling the server response
ForPlayerWithUlidOptional: Execute for the specified player ULID (default player if empty)
Returns
A unique id for this request, use this to match callbacks to requests when you have multiple simultaneous requests outbound

◆ RefreshRemoteSession() [2/2]

static FString ULootLockerSDKManager::RefreshRemoteSession ( const FString &  RefreshToken,
const FLootLockerRefreshRemoteSessionResponseDelegate OnCompletedRequest 
)
static

Refresh a remotely started session with explicit refresh token.

401 means the refresh token expired and a new login is required.

Parameters
RefreshTokenRefresh token from StartRemoteSession
OnCompletedRequestDelegate for handling the server response
Returns
A unique id for this request, use this to match callbacks to requests when you have multiple simultaneous requests outbound

◆ StartRemoteSession()

static FString ULootLockerSDKManager::StartRemoteSession ( const FLootLockerLeaseRemoteSessionResponseDelegate RemoteSessionLeaseInformation,
const FLootLockerRemoteSessionStatusPollingResponseDelegate RemoteSessionLeaseStatusUpdate,
const FLootLockerStartRemoteSessionResponseDelegate OnComplete,
float  PollingIntervalSeconds = 1.0f,
float  TimeOutAfterMinutes = 5.0f,
ELootLockerAccountProvider  Provider = ELootLockerAccountProvider::Guest 
)
static

Start a remote session lease process.

Provides lease info, polls status, then returns success or failure.

Parameters
RemoteSessionLeaseInformationCalled once with lease info for secondary device
RemoteSessionLeaseStatusUpdateCalled periodically with status updates
OnCompleteCalled when process completes (success or failure)
PollingIntervalSecondsOptional: Status polling interval seconds
TimeOutAfterMinutesOptional: Max duration minutes before timeout
ProviderOptional: Preloads the connection flow with which account provider to use for linking, so the user does not have to select it manually. Leave as Guest to let the user choose.
Returns
Remote session process id
A unique id for this request, use this to match callbacks to requests when you have multiple simultaneous requests outbound

◆ StartRemoteSessionForLinking()

static FString ULootLockerSDKManager::StartRemoteSessionForLinking ( const FString &  ForPlayerWithUlid,
const FLootLockerLeaseRemoteSessionResponseDelegate RemoteSessionLeaseInformation,
const FLootLockerRemoteSessionStatusPollingResponseDelegate RemoteSessionLeaseStatusUpdate,
const FLootLockerStartRemoteSessionResponseDelegate OnComplete,
float  PollingIntervalSeconds = 1.0f,
float  TimeOutAfterMinutes = 5.0f,
ELootLockerAccountProvider  Provider = ELootLockerAccountProvider::Guest 
)
static

Start a remote session lease process for linking into a specific player.

Parameters
ForPlayerWithUlidPlayer ULID to link into
RemoteSessionLeaseInformationCalled once with lease info for secondary device
RemoteSessionLeaseStatusUpdateCalled periodically with status updates
OnCompleteCalled when process completes (success or failure)
PollingIntervalSecondsOptional: Status polling interval seconds
TimeOutAfterMinutesOptional: Max duration minutes before timeout
ProviderOptional: Preloads the connection flow with which account provider to use for linking, so the user does not have to select it manually. Leave as Guest to let the user choose.
Returns
Remote session process id
A unique id for this request, use this to match callbacks to requests when you have multiple simultaneous requests outbound

Data Structures

struct  FLootLockerRemoteSessionProcess
 

Typedefs

typedef void(* FLootLockerLeaseRemoteSessionResponseDelegate) (FLootLockerLeaseRemoteSessionResponse)
 C++ response delegate for receiving the remote session lease information.
 
typedef void(* FLootLockerRemoteSessionStatusPollingResponseDelegate) (FLootLockerRemoteSessionStatusPollingResponse)
 C++ response delegate for receiving continual polling updates.
 
typedef void(* FLootLockerStartRemoteSessionResponseDelegate) (FLootLockerStartRemoteSessionResponse)
 C++ response delegate for receiving the finalized remote session data (whether successful or not)
 
typedef void(* FLootLockerRefreshRemoteSessionResponseDelegate) (FLootLockerRefreshRemoteSessionResponse)
 C++ response delegate for receiving the refreshed remote session.
 

Enumerations

enum class  ELootLockerRemoteSessionLeaseStatus : uint8 {
  ELootLockerRemoteSessionLeaseStatus::Created = 0 , ELootLockerRemoteSessionLeaseStatus::Claimed = 1 , ELootLockerRemoteSessionLeaseStatus::Verified = 2 , ELootLockerRemoteSessionLeaseStatus::Authorized = 3 ,
  ELootLockerRemoteSessionLeaseStatus::Cancelled = 4 , ELootLockerRemoteSessionLeaseStatus::Timed_out = 5 , ELootLockerRemoteSessionLeaseStatus::Failed = 6
}
 Possible entity kinds that catalog entries can have. More...
 
enum class  ELootLockerRemoteSessionLeaseIntent : uint8 { ELootLockerRemoteSessionLeaseIntent::login = 0 , ELootLockerRemoteSessionLeaseIntent::link = 1 }
 Possible intents for remote sessions. More...
 

Functions

static FString ULootLockerSDKManager::StartRemoteSession (const FLootLockerLeaseRemoteSessionResponseDelegate &RemoteSessionLeaseInformation, const FLootLockerRemoteSessionStatusPollingResponseDelegate &RemoteSessionLeaseStatusUpdate, const FLootLockerStartRemoteSessionResponseDelegate &OnComplete, float PollingIntervalSeconds=1.0f, float TimeOutAfterMinutes=5.0f, ELootLockerAccountProvider Provider=ELootLockerAccountProvider::Guest)
 Start a remote session lease process.
 
static FString ULootLockerSDKManager::StartRemoteSessionForLinking (const FString &ForPlayerWithUlid, const FLootLockerLeaseRemoteSessionResponseDelegate &RemoteSessionLeaseInformation, const FLootLockerRemoteSessionStatusPollingResponseDelegate &RemoteSessionLeaseStatusUpdate, const FLootLockerStartRemoteSessionResponseDelegate &OnComplete, float PollingIntervalSeconds=1.0f, float TimeOutAfterMinutes=5.0f, ELootLockerAccountProvider Provider=ELootLockerAccountProvider::Guest)
 Start a remote session lease process for linking into a specific player.
 
static void ULootLockerSDKManager::CancelRemoteSessionProcess (const FString &ProcessID)
 Cancel a remote session process.
 
static FString ULootLockerSDKManager::RefreshRemoteSession (const FLootLockerRefreshRemoteSessionResponseDelegate &OnCompletedRequest, const FString &ForPlayerWithUlid="")
 Refresh a remotely started session.
 
static FString ULootLockerSDKManager::RefreshRemoteSession (const FString &RefreshToken, const FLootLockerRefreshRemoteSessionResponseDelegate &OnCompletedRequest)
 Refresh a remotely started session with explicit refresh token.