Skip to content

LocalPlayer

Summary

MembersDescriptions
enum ERHAPI_LoginResultLogin Results.
enum ERHAPI_LocalPlayerLoginOSSLogin Online Subsystem Type.
class URH_LocalPlayerLoginSubsystemLogin Subsystem for the local player.
class URH_LocalPlayerPresenceSubsystemSubsystem to manage the local players presence.
class URH_LocalPlayerSessionSubsystemSubsystem to manage sessions for the local player.
class URH_LocalPlayerSubsystemSubsystem to manage the local player.
struct FRH_LoginResultStruct for the login results.

Members

enum ERHAPI_LoginResult

ValuesDescriptions
SuccessLogin was a success.
Fail_PartialInstallLogin denied because a partial install is underway.
Fail_LoginAlreadyPendingThere is already a pending login for this LocalPlayer.
Fail_OSSMissingThere is no OnlineSubsystem to login with. Check that the LoginOSS is valid, and the OSS was started correctly
Fail_OSSNotSupportedOSS Is not supported by Rally Here
Fail_OSSLoginUINotShownOSS Login UI could not be opened
Fail_OSSLoginUINoUserSelectedOSS Login UI could not be opened
Fail_OSSLoginOnlineSubsystem login failed due to an OSS-specific reason. See the OSSErrorMessage for more details
Fail_OSSLogoutOSS User was logged out during our login operation. Login can be retried.
Fail_OSSNeedsProfileOnlineSubsystem needs a valid selected profile. Call ShowProfileSelectionUI before logging in again
Fail_OSSAccountTypeNotSufficientOSS User’s account type is not sufficient (e.g. they do not have Xbox Live Gold or PS+)
Fail_OSSUserNotFoundOSS User was not found, even after OSS Login completed. This usually means that there is no connection to Xbox Live/PSN/etc
Fail_OSSAgeRestrictionOSS User does not meet age requirements for online play
Fail_OSSPrivilegeCheckOSS User does not meet requirements for online play. See FRH_LoginResult::PrivilegeResults and IOnlineIdentity::EPrivilegeResults
Fail_OSSAuthTokenOSS AuthToken could not be retrieved for a user that was logged into the OSS. This can be caused by a few reasons, such as the OSS account not being able to talk to the OSS network but being able to log into the account locally to the client machine
Fail_MustAcceptAgreementsUser must accept all required agreements. See FRH_LoginResult::bMustAcceptEULA, FRH_LoginResult::bMustAcceptTOS, FRH_LoginResult::bMustAcceptPP
Fail_RHDeniedRH web login was denied. There are many reasons that can cause this, including misconfiguration of OSS IDs with the Rally Here APIs
Fail_LocalPlayerMissingLocal player went missing during login process
Fail_ReloginWithoutSavedCredentialsRelogin called without saved credentials
Fail_RHUnknownRH web login failed for an unknown reason. This usually means there was a server error of some kind.

Login Results.

enum ERHAPI_LocalPlayerLoginOSS

ValuesDescriptions
NoneNo type, means RallyHere.
LoginUses the Login OSS.
NicknameUses the Nickname OSS.

Login Online Subsystem Type.

class URH_LocalPlayerLoginSubsystem

class URH_LocalPlayerLoginSubsystem
: public URH_LocalPlayerSubsystemPlugin

Login Subsystem for the local player.

Summary

MembersDescriptions
public FRH_OnLoginCompleteMulticast OnLoginCompleteMulticast delegate that gets broadcasted on login complete.
public FRH_OnLoginCompleteDynamicMulticast BLUEPRINT_OnLoginCompleteMulticast delegate that gets broadcasted on login complete.
public FRH_GeneralSettingChangedMulticast OnCrossplaySettingChangedMulticast delegate that gets broadcasted when a player’s crossplay setting is changed.
public FRH_GeneralSettingChangedDynamicMulticast BLUEPRINT_OnCrossplaySettingChangedMulticast delegate that gets broadcasted when a player’s crossplay setting is changed.
public FName LoginOSSNameOnline Subsystem to use for login. If not provided, will use the default OSS.
public FName NicknameOSSNameOnline Subsystem to use for getting the user’s display name for Rally Here. If not provided, will use the Login OSS.
public bool bLoginAllowStoredRefreshTokenIs the login process allowed to load/store a refresh token for future login attempts?
public bool bLoginDuringPartialInstallDoes the game allow logins before full installation has completed? (Only supported with HIREZ ENGINE changes)
public bool bLoginOSSRequireLoginUIFirstShould the OSS require show the login UI before the login attempt?
public bool bNicknameOSSRequireLoginUIFirstShould the OSS require show the login UI before the login attempt?
public bool bLoginOSSRequireOnlinePlayToLoginDoes the game require access to play online (meeting the OSS age and purchase requirements, like Xbox Live and PSN) before completing login.
public bool bNicknameOSSRequireOnlinePlayToLoginDoes the game require access to play online (meeting the OSS age and purchase requirements, like Xbox Live and PSN) before completing login.
public bool bLoginOSSPromptAccountUpgradeIfInsufficientShould the OSS prompt to upgrade the user’s account during login, if they failed due to invalid account type (e.g. not PS+ or Xbox Live Gold)
public bool bNicknameOSSPromptAccountUpgradeIfInsufficientShould the OSS prompt to upgrade the user’s account during login, if they failed due to invalid account type (e.g. not PS+ or Xbox Live Gold)
public bool bLoginOSSRequireValidUserIdForFailedLoginShould the OSS require a valid user id, even for failed logins.
public bool bNicknameOSSRequireValidUserIdForFailedLoginShould the OSS require a valid user id, even for failed logins.
public bool bLogoutAndRetryLoginIfRefreshLoginFailedShould we logout of the OSS and retry the login (that included a refresh token) failed?
public bool bLoginOSSUseIDTokenAsPortalParentAccessTokenShould we use the ID Token for populating the PARENT Portal Access Token.
public bool bLoginOSSUseIDTokenAsPortalAccessTokenShould we use the ID Token for populating the Portal Access Token.
public bool bResolveRallyHereBaseURLAfterOSSLoginShould an OSS Login trigger a Base URL Resolve on the FRH_Integration? This is necessary for some OSSes (e.g. Switch/PS4) that don’t have environment information until after a login is attempted.
public FString SavedCredentialPrefixPrefix applied to the saved credentials on platforms that support storing the refresh token.
public virtual void Initialize()Initialize the subsystem.
public virtual void Deinitialize()Safely tears down the subsystem.
public virtual void OnUserChanged(const FGuid & OldPlayerUuid,class URH_PlayerInfo * OldLocalPlayerInfo)Base handling when the local user changes, override to provide functionality.
public virtual void HandleNotification(const struct FRHAPI_Notification & Notification,const FString & APIName,const TArray< FString > & APIParams)Handle a notification from the notification API.
public void SubmitAutoLogin(bool bAcceptEULA,bool bAcceptTOS,bool bAcceptPP,const FRH_OnLoginComplete & OnLoginCompleteDelegate)Begins a complete multi-phased login to the OnlineSubsystem with the credentials provided on the command line, checking if the user has appropriate permissions, and logging into RallyHere.
public void ResubmitLastSuccessfulLogin(const FRH_OnLoginComplete & OnLoginCompleteDelegate)Submits a complete multi-phased login using the last successful set of login parameters.
public void SubmitLogin(const FOnlineAccountCredentials & Credentials,FString CredentialRefreshToken,bool bAcceptEULA,bool bAcceptTOS,bool bAcceptPP,FRH_OnLoginComplete OnLoginCompleteDelegate)Begins a complete multi-phased login to the OnlineSubsystem with the provided credentials, checking if the user has appropriate permissions, and logging into RallyHere.
public void Logout()Requests a logout on the server clearing the players auth credentials.
public bool ShowLoginProfileSelectionUI(bool bShowOnlineOnly,const FRH_OnProfileSelectionUIClosed & OnClosed,ERHAPI_LocalPlayerLoginOSS OSSType)Show an OSS-specific profile selection UI to the user. This is for Xbox and other platforms that support profile swapping. A valid profile is required to login on those platforms.
public bool ShouldUseSavedCredentials() constAre saved credentials allowed for auto-login?
public IOnlineSubsystem * GetOSS(ERHAPI_LocalPlayerLoginOSS OSSType) constGet the fully resolved OSS by type.
public IOnlineSubsystem * GetLoginOSS() constGet the fully resolved OSS to use for Login.
public IOnlineSubsystem * GetNicknameOSS() constGet the fully resolved OSS to use for getting a player’s display name for login. This triggers a second OSS login.
public inline virtual bool IsCrossplayEnabled() constGets if crossplay is enabled.
public inline virtual bool IsCommunicationEnabled() constGets if cvommunication is enabled.
protected TArray< FString > IgnoreSavedCredentialsCommandLineKeysConfigurations to skip saved credentials.
protected FDelegateHandle OnOSSLoginCompleteDelegateHandleDelegate to listen for OSS login completion.
protected bool bCrossplayEnabledStores if crossplay is enabled.
protected TOptional< FRH_PendingLoginRequest>LastSuccessfulLoginRequestStores the last successful login result, for use when refresh token expires.
protected bool bCommunicationEnabledStores if communication is enabled.
protected virtual void PostResults(FRH_PendingLoginRequest& Req,constFRH_LoginResult & Res)Posts the results from a login request.
protected virtual void DoShowLoginOSSLoginUI(FRH_PendingLoginRequest & Req)Prompts the online subsystem to show login UI.
protected virtual void DoShowNicknameOSSLoginUI(FRH_PendingLoginRequest & Req)Prompts the online subsystem to show the choose nickname login UI.
protected virtual void NicknameOSSLoginUIClosed(TSharedPtr< const FUniqueNetId > UniqueId,const FOnlineError & Error,FRH_PendingLoginRequest Req)Callback from the user closing the nickname selection on the online subsystem.
protected virtual void LoginOSSLoginUIClosed(TSharedPtr< const FUniqueNetId > UniqueId,const FOnlineError & Error,FRH_PendingLoginRequest Req)Callback from the user closing the login UI of the online subsystem.
protected virtual void DoLoginOSSLogin(FRH_PendingLoginRequest & Req)Starts the online subsystem login.
protected virtual void DoNicknameOSSLogin(FRH_PendingLoginRequest & Req)Starts the online subsystem nickname login.
protected virtual void DoOSSLogin(FRH_PendingLoginRequest & Req,IOnlineSubsystem * OSS,OSSLoginCompleteFn OnComplete)Starts the online subsystem login.
protected virtual void OSSLoginComplete(int32 ControllerId,bool bSuccessful,const FUniqueNetId & UniqueId,const FString & ErrorMessage,FRH_PendingLoginRequest Req)Handler for OSS Login Completion.
protected virtual void OSSNicknameLoginComplete(int32 ControllerId,bool bSuccessful,const FUniqueNetId & UniqueId,const FString & ErrorMessage,FRH_PendingLoginRequest Req)Handler for OSS Nickname Login Completion.
protected virtual bool OnOSSLoginComplete(int32 ControllerId,bool bSuccessful,const FUniqueNetId & UniqueId,const FString & ErrorMessage,FRH_PendingLoginRequest & Req,IOnlineSubsystem * OSS,PendingLoginUniqueIdRef UniqueIdPtr,bool bOSSRequireValidUserIdForFailedLogin)Handler for OSS Login Completion.
protected virtual void ExternalUI_ShowLoginUIClosed(TSharedPtr< const FUniqueNetId > UniqueId,const int ControllerIndex,const FOnlineError & Error,FRH_OnProfileSelectionUIClosed OnClosed)Callback for when the OSS login UI is closed.
protected virtual void DoLoginOSSPrivilegeCheck(FRH_PendingLoginRequest & Req)Checks users Privileges for OSS Login.
protected virtual void DoNicknameOSSPrivilegeCheck(FRH_PendingLoginRequest & Req)Checks users Privileges for OSS Nickname Login.
protected virtual void DoOSSPrivilegeCheck(FRH_PendingLoginRequest & Req,IOnlineSubsystem * OSS,PendingLoginUniqueIdRef UniqueIdPtr,OSSPrivilegeResultsFn OnPrivilegeResults)Checks users Privileges for OSS Login.
protected virtual void OnLoginOSSPrivilegeResults(const FUniqueNetId & UniqueId,EUserPrivileges::Type Privilege,uint32 PrivilegeResults,FRH_PendingLoginRequest Req)Handler for online subsystem callback for OSS Privilege check.
protected virtual void OnNicknameOSSPrivilegeResults(const FUniqueNetId & UniqueId,EUserPrivileges::Type Privilege,uint32 PrivilegeResults,FRH_PendingLoginRequest Req)Handler for online subsystem callback for OSS Nickname Privilege check.
protected virtual bool OnOSSPrivilegeResults(const FUniqueNetId & UniqueId,EUserPrivileges::Type Privilege,uint32 PrivilegeResults,FRH_PendingLoginRequest Req,IOnlineSubsystem * OSS,bool bPromptForAccountUpgradeIfInsufficient)Handler for online subsystem callback for OSS Privilege check.
protected virtual void RetrieveOSSAuthToken(FRH_PendingLoginRequest & Req)Start the retrieval of the OSS Auth Token.
protected virtual void RetrieveOSSAuthTokenComplete(int32 LocalUserNum,bool bWasSuccessful,const FExternalAuthToken & AuthToken,FRH_PendingLoginRequest Req)Start the login to Rally Here.
protected virtual void DoRallyHereLogin(FRH_PendingLoginRequest & Req,const FExternalAuthToken & AuthToken)Start the login to Rally Here.
protected virtual void RallyHereLoginComplete(const RallyHereAPI::FResponse_Login & Resp,FRH_PendingLoginRequest Req)Handle the response from the login to Rally Here.
protected virtual FString GetSavedCredentialEnvironment(FName OSSName) constGets the cached credentials for the given online subsystem.
protected virtual void CheckCrossplayPrivilege(const FUniqueNetId & UniqueId)Checks the users OSS privileges for crossplay.
protected virtual void HandleCheckCrossPlayPrivilegeComplete(const FUniqueNetId & UserId,EUserPrivileges::Type Privilege,uint32 PrivilegeResults)Handles the response of the OSS crossplay privilege check.
protected virtual void CheckCommunicationPrivilege(const FUniqueNetId & UniqueId)Checks the users OSS privileges for communicataion.
protected virtual void HandleCheckCommunicationPrivilegeComplete(const FUniqueNetId & UserId,EUserPrivileges::Type Privilege,uint32 PrivilegeResults)Handles the response of the OSS communicaation privilege check.
protected virtual void HandleAppReactivated()Handles the app being restored from being suspended.
protected virtual void HandleAppReactivatedGameThread()Handles the app game thread being restored from being suspended.
typedef TLogoutType Define for logout calls.

Members

public FRH_OnLoginCompleteMulticast OnLoginComplete

Multicast delegate that gets broadcasted on login complete.

public FRH_OnLoginCompleteDynamicMulticast BLUEPRINT_OnLoginComplete

Multicast delegate that gets broadcasted on login complete.

public FRH_GeneralSettingChangedMulticast OnCrossplaySettingChanged

Multicast delegate that gets broadcasted when a player’s crossplay setting is changed.

public FRH_GeneralSettingChangedDynamicMulticast BLUEPRINT_OnCrossplaySettingChanged

Multicast delegate that gets broadcasted when a player’s crossplay setting is changed.

public FName LoginOSSName

Online Subsystem to use for login. If not provided, will use the default OSS.

public FName NicknameOSSName

Online Subsystem to use for getting the user’s display name for Rally Here. If not provided, will use the Login OSS.

public bool bLoginAllowStoredRefreshToken

Is the login process allowed to load/store a refresh token for future login attempts?

public bool bLoginDuringPartialInstall

Does the game allow logins before full installation has completed? (Only supported with HIREZ ENGINE changes)

public bool bLoginOSSRequireLoginUIFirst

Should the OSS require show the login UI before the login attempt?

public bool bNicknameOSSRequireLoginUIFirst

Should the OSS require show the login UI before the login attempt?

public bool bLoginOSSRequireOnlinePlayToLogin

Does the game require access to play online (meeting the OSS age and purchase requirements, like Xbox Live and PSN) before completing login.

public bool bNicknameOSSRequireOnlinePlayToLogin

Does the game require access to play online (meeting the OSS age and purchase requirements, like Xbox Live and PSN) before completing login.

public bool bLoginOSSPromptAccountUpgradeIfInsufficient

Should the OSS prompt to upgrade the user’s account during login, if they failed due to invalid account type (e.g. not PS+ or Xbox Live Gold)

public bool bNicknameOSSPromptAccountUpgradeIfInsufficient

Should the OSS prompt to upgrade the user’s account during login, if they failed due to invalid account type (e.g. not PS+ or Xbox Live Gold)

public bool bLoginOSSRequireValidUserIdForFailedLogin

Should the OSS require a valid user id, even for failed logins.

public bool bNicknameOSSRequireValidUserIdForFailedLogin

Should the OSS require a valid user id, even for failed logins.

public bool bLogoutAndRetryLoginIfRefreshLoginFailed

Should we logout of the OSS and retry the login (that included a refresh token) failed?

public bool bLoginOSSUseIDTokenAsPortalParentAccessToken

Should we use the ID Token for populating the PARENT Portal Access Token.

public bool bLoginOSSUseIDTokenAsPortalAccessToken

Should we use the ID Token for populating the Portal Access Token.

public bool bResolveRallyHereBaseURLAfterOSSLogin

Should an OSS Login trigger a Base URL Resolve on the FRH_Integration? This is necessary for some OSSes (e.g. Switch/PS4) that don’t have environment information until after a login is attempted.

public FString SavedCredentialPrefix

Prefix applied to the saved credentials on platforms that support storing the refresh token.

public virtual void Initialize()

Initialize the subsystem.

public virtual void Deinitialize()

Safely tears down the subsystem.

public virtual void OnUserChanged(const FGuid & OldPlayerUuid,class URH_PlayerInfo * OldLocalPlayerInfo)

Base handling when the local user changes, override to provide functionality.

Parameters

  • OldPlayerUuid The old player Uuid.

  • OldLocalPlayerInfo The old local player info.

public virtual void HandleNotification(const struct FRHAPI_Notification & Notification,const FString & APIName,const TArray< FString > & APIParams)

Handle a notification from the notification API.

Parameters

  • Notification The notification to handle.

  • APIName The name of the API that sent the notification.

  • APIParams The parameters for the API that sent the notification.

public void SubmitAutoLogin(bool bAcceptEULA,bool bAcceptTOS,bool bAcceptPP,const FRH_OnLoginComplete & OnLoginCompleteDelegate)

Begins a complete multi-phased login to the OnlineSubsystem with the credentials provided on the command line, checking if the user has appropriate permissions, and logging into RallyHere.

public void ResubmitLastSuccessfulLogin(const FRH_OnLoginComplete & OnLoginCompleteDelegate)

Submits a complete multi-phased login using the last successful set of login parameters.

public void SubmitLogin(const FOnlineAccountCredentials & Credentials,FString CredentialRefreshToken,bool bAcceptEULA,bool bAcceptTOS,bool bAcceptPP,FRH_OnLoginComplete OnLoginCompleteDelegate)

Begins a complete multi-phased login to the OnlineSubsystem with the provided credentials, checking if the user has appropriate permissions, and logging into RallyHere.

Parameters

  • Credentials - Credentials to use to login with the LoginOSS

  • CredentialRefreshToken - RefreshToken to associate with the credentials. If included will be used for the RallyHere login

  • OnLoginComplete - Delegate called after login completes

public void Logout()

Requests a logout on the server clearing the players auth credentials.

public bool ShowLoginProfileSelectionUI(bool bShowOnlineOnly,const FRH_OnProfileSelectionUIClosed & OnClosed,ERHAPI_LocalPlayerLoginOSS OSSType)

Show an OSS-specific profile selection UI to the user. This is for Xbox and other platforms that support profile swapping. A valid profile is required to login on those platforms.

public bool ShouldUseSavedCredentials() const

Are saved credentials allowed for auto-login?

public IOnlineSubsystem * GetOSS(ERHAPI_LocalPlayerLoginOSS OSSType) const

Get the fully resolved OSS by type.

public IOnlineSubsystem * GetLoginOSS() const

Get the fully resolved OSS to use for Login.

public IOnlineSubsystem * GetNicknameOSS() const

Get the fully resolved OSS to use for getting a player’s display name for login. This triggers a second OSS login.

public inline virtual bool IsCrossplayEnabled() const

Gets if crossplay is enabled.

public inline virtual bool IsCommunicationEnabled() const

Gets if cvommunication is enabled.

protected TArray< FString > IgnoreSavedCredentialsCommandLineKeys

Configurations to skip saved credentials.

protected FDelegateHandle OnOSSLoginCompleteDelegateHandle

Delegate to listen for OSS login completion.

protected bool bCrossplayEnabled

Stores if crossplay is enabled.

protected TOptional< FRH_PendingLoginRequest>LastSuccessfulLoginRequest

Stores the last successful login result, for use when refresh token expires.

protected bool bCommunicationEnabled

Stores if communication is enabled.

protected virtual void PostResults(FRH_PendingLoginRequest& Req,constFRH_LoginResult & Res)

Posts the results from a login request.

Parameters

  • Req The login request.

  • Res The login results.

protected virtual void DoShowLoginOSSLoginUI(FRH_PendingLoginRequest & Req)

Prompts the online subsystem to show login UI.

Parameters

  • Req The pending login request.

protected virtual void DoShowNicknameOSSLoginUI(FRH_PendingLoginRequest & Req)

Prompts the online subsystem to show the choose nickname login UI.

Parameters

  • Req The pending login request.

protected virtual void NicknameOSSLoginUIClosed(TSharedPtr< const FUniqueNetId > UniqueId,const FOnlineError & Error,FRH_PendingLoginRequest Req)

Callback from the user closing the nickname selection on the online subsystem.

Parameters

  • UniqueId Unique Net Id player selected.

  • Error Error message if any.

  • Req The pending login request.

protected virtual void LoginOSSLoginUIClosed(TSharedPtr< const FUniqueNetId > UniqueId,const FOnlineError & Error,FRH_PendingLoginRequest Req)

Callback from the user closing the login UI of the online subsystem.

Parameters

  • UniqueId Unique Net Id player selected.

  • Error Error message if any.

  • Req The pending login request.

protected virtual void DoLoginOSSLogin(FRH_PendingLoginRequest & Req)

Starts the online subsystem login.

Parameters

  • Req The pending login request.

protected virtual void DoNicknameOSSLogin(FRH_PendingLoginRequest & Req)

Starts the online subsystem nickname login.

Parameters

  • Req The pending login request.

protected virtual void DoOSSLogin(FRH_PendingLoginRequest & Req,IOnlineSubsystem * OSS,OSSLoginCompleteFn OnComplete)

Starts the online subsystem login.

Parameters

  • Req The pending login request.

  • OSS The online subsystem being logged into.

  • OnComplete Callback delegate for when login finishes.

protected virtual void OSSLoginComplete(int32 ControllerId,bool bSuccessful,const FUniqueNetId & UniqueId,const FString & ErrorMessage,FRH_PendingLoginRequest Req)

Handler for OSS Login Completion.

Parameters

  • ControllerId Controller Id of the local player logging in.

  • bSuccessful Was the login successful.

  • UniqueId Unique Net Id of the player logging in.

  • ErrorMessage Error message if any.

  • Req The pending login request.

protected virtual void OSSNicknameLoginComplete(int32 ControllerId,bool bSuccessful,const FUniqueNetId & UniqueId,const FString & ErrorMessage,FRH_PendingLoginRequest Req)

Handler for OSS Nickname Login Completion.

Parameters

  • ControllerId Controller Id of the local player logging in.

  • bSuccessful Was the login successful.

  • UniqueId Unique Net Id of the player logging in.

  • ErrorMessage Error message if any.

  • Req The pending login request.

protected virtual bool OnOSSLoginComplete(int32 ControllerId,bool bSuccessful,const FUniqueNetId & UniqueId,const FString & ErrorMessage,FRH_PendingLoginRequest & Req,IOnlineSubsystem * OSS,PendingLoginUniqueIdRef UniqueIdPtr,bool bOSSRequireValidUserIdForFailedLogin)

Handler for OSS Login Completion.

Parameters

  • ControllerId Controller Id of the local player logging in.

  • bSuccessful Was the login successful.

  • UniqueId Unique Net Id of the player logging in.

  • ErrorMessage Error message if any.

  • Req The pending login request.

  • OSS The online subsystem being logged into.

  • UniqueIdPtr Pending Login pointer reference.

  • bOSSRequireValidUserIdForFailedLogin If the login failed due to no valid user id.

protected virtual void ExternalUI_ShowLoginUIClosed(TSharedPtr< const FUniqueNetId > UniqueId,const int ControllerIndex,const FOnlineError & Error,FRH_OnProfileSelectionUIClosed OnClosed)

Callback for when the OSS login UI is closed.

Parameters

  • UniqueId Unique Net Id of the player logging in.

  • ControllerIndex Controller Id of the local player logging in.

  • Error Error message if any.

  • OnClosed Callback delegate for when the login UI is closed.

protected virtual void DoLoginOSSPrivilegeCheck(FRH_PendingLoginRequest & Req)

Checks users Privileges for OSS Login.

Parameters

  • Req The pending login request.

protected virtual void DoNicknameOSSPrivilegeCheck(FRH_PendingLoginRequest & Req)

Checks users Privileges for OSS Nickname Login.

Parameters

  • Req The pending login request.

protected virtual void DoOSSPrivilegeCheck(FRH_PendingLoginRequest & Req,IOnlineSubsystem * OSS,PendingLoginUniqueIdRef UniqueIdPtr,OSSPrivilegeResultsFn OnPrivilegeResults)

Checks users Privileges for OSS Login.

Parameters

  • Req The pending login request.

  • OSS The online subsystem being logged into.

  • UniqueIdPtr Pending Login pointer reference.

  • OnPrivilegeResults Callback delegate for when the privilege check is complete.

protected virtual void OnLoginOSSPrivilegeResults(const FUniqueNetId & UniqueId,EUserPrivileges::Type Privilege,uint32 PrivilegeResults,FRH_PendingLoginRequest Req)

Handler for online subsystem callback for OSS Privilege check.

Parameters

  • UniqueId Unique Net Id of the player being checked in.

  • Privilege Privilege being checked.

  • PrivilegeResults Privilege check results.

  • Req The pending login request.

protected virtual void OnNicknameOSSPrivilegeResults(const FUniqueNetId & UniqueId,EUserPrivileges::Type Privilege,uint32 PrivilegeResults,FRH_PendingLoginRequest Req)

Handler for online subsystem callback for OSS Nickname Privilege check.

Parameters

  • UniqueId Unique Net Id of the player being checked in.

  • Privilege Privilege being checked.

  • PrivilegeResults Privilege check results.

  • Req The pending login request.

protected virtual bool OnOSSPrivilegeResults(const FUniqueNetId & UniqueId,EUserPrivileges::Type Privilege,uint32 PrivilegeResults,FRH_PendingLoginRequest Req,IOnlineSubsystem * OSS,bool bPromptForAccountUpgradeIfInsufficient)

Handler for online subsystem callback for OSS Privilege check.

Parameters

  • UniqueId Unique Net Id of the player being checked in.

  • Privilege Privilege being checked.

  • PrivilegeResults Privilege check results.

  • Req The pending login request.

  • OSS The online subsystem being logged into.

  • bPromptForAccountUpgradeIfInsufficient If true, prompt user to upgrade their platform account.

protected virtual void RetrieveOSSAuthToken(FRH_PendingLoginRequest & Req)

Start the retrieval of the OSS Auth Token.

Parameters

  • Req The pending login request.

protected virtual void RetrieveOSSAuthTokenComplete(int32 LocalUserNum,bool bWasSuccessful,const FExternalAuthToken & AuthToken,FRH_PendingLoginRequest Req)

Start the login to Rally Here.

Parameters

  • LocalUserNum Local user number of the player logging in.

  • bWasSuccessful Was the retrieval successful.

  • AuthTokenWrapper The auth token wrapper.

  • Req The pending login request.

protected virtual void DoRallyHereLogin(FRH_PendingLoginRequest & Req,const FExternalAuthToken & AuthToken)

Start the login to Rally Here.

Parameters

  • Req The pending login request.

protected virtual void RallyHereLoginComplete(const RallyHereAPI::FResponse_Login & Resp,FRH_PendingLoginRequest Req)

Handle the response from the login to Rally Here.

Parameters

  • Resp Response from the login to Rally Here.

  • Req The pending login request.

protected virtual FString GetSavedCredentialEnvironment(FName OSSName) const

Gets the cached credentials for the given online subsystem.

Parameters

  • OSSName Name of the online subsystem.

Returns

Credentials token for the subsystem.

protected virtual void CheckCrossplayPrivilege(const FUniqueNetId & UniqueId)

Checks the users OSS privileges for crossplay.

Parameters

  • UniqueId Unique Net Id of the player being checked in.

protected virtual void HandleCheckCrossPlayPrivilegeComplete(const FUniqueNetId & UserId,EUserPrivileges::Type Privilege,uint32 PrivilegeResults)

Handles the response of the OSS crossplay privilege check.

Parameters

  • UserId Unique Net Id of the player being checked in.

  • Privilege Privilege being checked.

  • PrivilegeResults Privilege check results.

protected virtual void CheckCommunicationPrivilege(const FUniqueNetId & UniqueId)

Checks the users OSS privileges for communicataion.

Parameters

  • UniqueId Unique Net Id of the player being checked in.

protected virtual void HandleCheckCommunicationPrivilegeComplete(const FUniqueNetId & UserId,EUserPrivileges::Type Privilege,uint32 PrivilegeResults)

Handles the response of the OSS communicaation privilege check.

Parameters

  • UserId Unique Net Id of the player being checked in.

  • Privilege Privilege being checked.

  • PrivilegeResults Privilege check results.

protected virtual void HandleAppReactivated()

Handles the app being restored from being suspended.

protected virtual void HandleAppReactivatedGameThread()

Handles the app game thread being restored from being suspended.

typedef TLogout

Type Define for logout calls.

class URH_LocalPlayerPresenceSubsystem

class URH_LocalPlayerPresenceSubsystem
: public URH_LocalPlayerSubsystemPlugin

Subsystem to manage the local players presence.

Summary

MembersDescriptions
public virtual void Initialize()Initialize the subsystem.
public virtual void Deinitialize()Safely tears down the subsystem.
public void UpdatePlayerPresenceSelf(RallyHereAPI::FRequest_UpdatePlayerPresenceSelf & Request,const RallyHereAPI::FDelegate_UpdatePlayerPresenceSelf & Delegate)Calls the Presence API to update a players personal presence information.
public void GetPlayerPresenceSelf(RallyHereAPI::FRequest_GetPlayerPresenceSelf & Request,const RallyHereAPI::FDelegate_GetPlayerPresenceSelf & Delegate)Calls the Presence API to get your own player presence information.
public void GetSettings(RallyHereAPI::FRequest_GetPresenceSettings & Request,const RallyHereAPI::FDelegate_GetPresenceSettings & Delegate)Calls the Presence API to get the presence settings data.
public inline void SetDesiredStatus(ERHAPI_OnlineStatus NewStatus)Requests an update of your presence status to be set to the desired status.
public inline ERHAPI_OnlineStatus GetDesiredStatus() constGets the desired status that the player wants to be set to.
public inline void SetDesiredMessage(FString NewMessage)Requests an update of your presence message to be set to the desired message.
public inline FString GetDesiredMessage() constGets the desired message that the player wants to be set to.
public inline void SetDesiredDoNotDisturb(bool NewDoNotDisturb)Requests an update of your presence do not disturb setting to be set to the desired setting.
public inline bool GetDesiredDoNotDisturb() constGets the desired do not disturb setting that the player wants to be set to.
public void StartRefreshTimer()Starts polling to refresh the player’s presence status.
public void StopRefreshTimer()Stops polling to refresh the player’s presence status.
public void RefreshStatus()Forces an update of the players presence with a status change.
public bool IsRefreshTimerActive(float & TimeRemaining) constReturns whether the refresh timer is active. param [in].
protected FRH_AutoPollerPtr PollerPoller for the local presence.
protected ERHAPI_OnlineStatus DesiredStatusThe Status that the local player is being changed to.
protected FString DesiredMessageThe presence message that the local player is being changed to.
protected bool DesiredDoNotDisturbThe do not disturb setting that the local player is being changed to.
protected virtual void OnUserChanged()Callback that occurs whenever the local player this subsystem is associated with changes.
protected virtual void InitPropertiesWithDefaultValues()Initializes the subsystem with defaults for its cached data.
protected void PollRefreshStatus(const FRH_PollCompleteFunc & Delegate)Polls the status of the players presence.

Members

public virtual void Initialize()

Initialize the subsystem.

public virtual void Deinitialize()

Safely tears down the subsystem.

public void UpdatePlayerPresenceSelf(RallyHereAPI::FRequest_UpdatePlayerPresenceSelf & Request,const RallyHereAPI::FDelegate_UpdatePlayerPresenceSelf & Delegate)

Calls the Presence API to update a players personal presence information.

Parameters

  • Request Request object containing the information to update.

  • Delegate Callback delegate for if the request was successful or not.

public void GetPlayerPresenceSelf(RallyHereAPI::FRequest_GetPlayerPresenceSelf & Request,const RallyHereAPI::FDelegate_GetPlayerPresenceSelf & Delegate)

Calls the Presence API to get your own player presence information.

Parameters

  • Request Request object containing needed data for the call.

  • Delegate Callback delegate with the player presence information.

public void GetSettings(RallyHereAPI::FRequest_GetPresenceSettings & Request,const RallyHereAPI::FDelegate_GetPresenceSettings & Delegate)

Calls the Presence API to get the presence settings data.

Parameters

  • Request Request object containing needed data for the call.

  • Delegate Callback delegate with the presence settings data.

public inline void SetDesiredStatus(ERHAPI_OnlineStatus NewStatus)

Requests an update of your presence status to be set to the desired status.

Parameters

  • NewStatus The new status to set.

public inline ERHAPI_OnlineStatus GetDesiredStatus() const

Gets the desired status that the player wants to be set to.

public inline void SetDesiredMessage(FString NewMessage)

Requests an update of your presence message to be set to the desired message.

Parameters

  • NewMessage The new message to set.

public inline FString GetDesiredMessage() const

Gets the desired message that the player wants to be set to.

public inline void SetDesiredDoNotDisturb(bool NewDoNotDisturb)

Requests an update of your presence do not disturb setting to be set to the desired setting.

Parameters

  • NewDoNotDisturb The new do not disturb setting desired.

public inline bool GetDesiredDoNotDisturb() const

Gets the desired do not disturb setting that the player wants to be set to.

public void StartRefreshTimer()

Starts polling to refresh the player’s presence status.

public void StopRefreshTimer()

Stops polling to refresh the player’s presence status.

public void RefreshStatus()

Forces an update of the players presence with a status change.

public bool IsRefreshTimerActive(float & TimeRemaining) const

Returns whether the refresh timer is active. param [in].

protected FRH_AutoPollerPtr Poller

Poller for the local presence.

protected ERHAPI_OnlineStatus DesiredStatus

The Status that the local player is being changed to.

protected FString DesiredMessage

The presence message that the local player is being changed to.

protected bool DesiredDoNotDisturb

The do not disturb setting that the local player is being changed to.

protected virtual void OnUserChanged()

Callback that occurs whenever the local player this subsystem is associated with changes.

protected virtual void InitPropertiesWithDefaultValues()

Initializes the subsystem with defaults for its cached data.

protected void PollRefreshStatus(const FRH_PollCompleteFunc & Delegate)

Polls the status of the players presence.

Parameters

  • Delegate Callback delegate when the poll completes.

class URH_LocalPlayerSessionSubsystem

class URH_LocalPlayerSessionSubsystem
: public URH_LocalPlayerSubsystemPlugin
: public IRH_SessionOwnerInterface

Subsystem to manage sessions for the local player.

Summary

MembersDescriptions
public FRH_OnSessionUpdatedMulticastDynamicDelegate BLUEPRINT_OnSessionUpdatedDelegateMulticast delegate triggered when a session managed by this subsystem is updated.
public FRH_OnSessionUpdatedMulticastDynamicDelegate BLUEPRINT_OnSessionAddedDelegateMulticast delegate triggered when a session managed by this subsystem is added.
public FRH_OnSessionUpdatedMulticastDynamicDelegate BLUEPRINT_OnSessionRemovedDelegateMulticast delegate triggered when a session managed by this subsystem is removed.
public FRH_OnSessionUpdatedMulticastDynamicDelegate BLUEPRINT_OnSessionExpirationCompleteDelegateMulticast delegate triggered when a session managed by this subsystem is fully expired (happens after removal)
public FRH_OnLoginPollSessionsCompleteMulticastDynamicDelegate BLUEPRINT_OnLoginPollSessionsCompleteDelegateMulticast delegate triggered when the initial poll after login is complete, to do first-time setup.
public FRH_OnFailedToJoinPlatformSessionMulticastDynamicDelegate BLUEPRINT_OnFailedToJoinPlatformSessionDelegateMulticast delegate triggered when we fail to join a platform session that we’ve accepted an invite to.
public FRH_OnSessionUpdatedMulticastDelegate OnSessionUpdatedDelegateMulticast delegate triggered when a session managed by this subsystem is updated.
public FRH_OnSessionUpdatedMulticastDelegate OnSessionAddedDelegateMulticast delegate triggered when a session managed by this subsystem is added.
public FRH_OnSessionUpdatedMulticastDelegate OnSessionRemovedDelegateMulticast delegate triggered when a session managed by this subsystem is removed.
public FRH_OnSessionUpdatedMulticastDelegate OnSessionExpirationCompleteDelegateMulticast delegate triggered when a session managed by this subsystem is fully expired (happens after removal)
public FRH_OnLoginPollSessionsCompleteMulticastDelegate OnLoginPollSessionsCompleteDelegateMulticast delegate triggered when the initial poll after login is complete, to do first-time setup.
public FRH_OnFailedToJoinPlatformSessionMulticastDelegate OnFailedToJoinPlatformSessionDelegateMulticast delegate triggered when we fail to join a platform session that we’ve accepted an invite to.
public URH_LocalPlayerSessionSubsystem()
public virtual void Initialize()Initialize the subsystem.
public virtual void Deinitialize()Deinitialize the subsystem.
public inline virtual FAuthContextPtr GetSessionAuthContext() constGet auth context for session (IRH_SessionOwnerInterface requirement)
public inline virtual URH_SessionView*GetSessionById(const FString & SessionId) constGet session by its Session Id.
public TArray< URH_SessionView* >GetSessionsByType(const FString & Type) constGet all joined and invited sessions by SessionType.
public TArray< URH_InvitedSession* >GetInvitedSessionsByType(const FString & Type) constGet all invited sessions by SessionType.
public TArray< URH_JoinedSession* >GetJoinedSessionsByType(const FString & Type) constGet all joined sessions by SessionType.
public inline FORCEINLINE URH_SessionView*GetFirstSessionByType(const FString & Type) constGet first joined or invited sessions by SessionType (useful for titles that ensure only one of a given session type will exist)
public inline FORCEINLINE URH_InvitedSession*GetFirstInvitedSessionByType(const FString & Type) constGet first invited sessions by SessionType (useful for titles that ensure only one of a given session type will exist)
public inline FORCEINLINE URH_JoinedSession*GetFirstJoinedSessionByType(const FString & Type) constGet first joined sessions by SessionType (useful for titles that ensure only one of a given session type will exist)
public URH_JoinedSession*GetFirstActiveSession() constGet first “active” session (session which is IsActive())
public inline FORCEINLINE TArray< URH_SessionView* >GetSessions() constGet an array of all sessions controlled by this system.
public virtual void RemoveSessionById(const FString & SessionId)Removes a cached session for the local player, this does NOT try to leave it.
public inline FORCEINLINE bool IsInSession(const FString & SessionId)Utility function to determine if local player is a member of that session.
public virtual class URH_PlayerInfoSubsystem*GetPlayerInfoSubsystem() constUtility function to look up the player info subsystem (IRH_SessionOwnerInterface requirement)
public virtual IOnlineSubsystem * GetOSS() constUtility function to look up the OnlineSubsystem to use for session calls (IRH_SessionOwnerInterface requirement)
public virtual FUniqueNetIdWrapper GetOSSUniqueId() constUtility function to look up the UniqueNetId to use for OnlineSubsystem calls (IRH_SessionOwnerInterface requirement)
public virtual FPlatformUserId GetOSSPlatformUserId() constGets the Online Subsystem PlatformUserId to use for OSS calls (equivalent to controller index)
public virtual FGuid GetPlayerUuid() constGets the Player UUID to use for player related calls (can be invalid)
public inline virtual URH_PlatformSessionSyncer*GetPlatformSyncerByRHSessionId(const FString & SessionId) constGets the platform session synchronization object for a given session id (IRH_SessionOwnerInterface requirement)
public virtual URH_PlatformSessionSyncer*GetPlatformSyncerByPlatformSessionId(const FUniqueNetIdRepl & PlatformSessionId) constGets the platform session synchronization object for a given platform session id.
public inline virtual void SetPlatformSessionToJoinOnUserChange(const FOnlineSessionSearchResult & Session)Set a platform session to join upon the next user change.
public inline virtual void ClearPlatformSessionToJoinOnUserChange()Clear a platform session to join upon the next user change.
public inline void CreateOrJoinSessionByType(const FRHAPI_CreateOrJoinRequest & CreateParams,const FRH_OnSessionUpdatedDelegateBlock & Delegate)Utility function to Create or Join a session by a given SessionType (most times will create a session, but Hub join rules may do a Join instead)
public inline void BLUEPRINT_CreateOrJoinSessionByType(const FRHAPI_CreateOrJoinRequest & CreateParams,const FRH_OnSessionUpdatedDynamicDelegate & Delegate)Blueprint compatible version of CreateOrJoinSessionByType.
public inline void JoinSessionById(const FString & SessionId,const FRH_OnSessionUpdatedDelegateBlock & Delegate)Utility function to Join a session by SessionId.
public inline void BLUEPRINT_JoinSessionById(const FString & SessionId,const FRH_OnSessionUpdatedDynamicDelegate & Delegate)Blueprint compatible version of JoinSessionById.
public virtual void ImportAPISession(const FRH_APISessionWithETag & Session)Imports a new or updated session from the API into this subsystem (IRH_SessionOwnerInterface requirement)
public virtual void ImportAPITemplate(const FRHAPI_SessionTemplate & Template)Imports a new session template from the API into this subsystem (IRH_SessionOwnerInterface requirement)
public virtual void ReconcileAPISessions(const TArray< FString > & SessionIds,const TOptional< FString > & ETag)Reconciles the list of session ids with this subsystem, removing any sessions that are no longer in the list, then updates the stored ETag for the local player’s session list (IRH_SessionOwnerInterface requirement)
public virtual void ReconcileAPITemplates(const TArray< FString > & InTemplates,const TOptional< FString > & ETag)Reconciles the list of template SessionTypes with this subsystem, removing any templates that are no longer in the list, then updates the stored ETag for the local player’s templatelist (IRH_SessionOwnerInterface requirement)
public virtual bool GetTemplate(const FString & Type,FRHAPI_SessionTemplate & Template) constLooks up a template from within this subsystem (IRH_SessionOwnerInterface requirement)
public inline FORCEINLINE TArray< FRHAPI_SessionTemplate>GetTemplates() constGets a list of all templates in this subsystem.
public inline virtual TOptional< FString > GetETagForAllSessionsPoll() constLooks up a ETag to use when querying for session membership (IRH_SessionOwnerInterface requirement)
public inline virtual TOptional< FString > GetETagForAllTemplatesPoll() constLooks up a ETag to use when querying for template information (IRH_SessionOwnerInterface requirement)
public inline virtual TArray< URH_SessionView* >GetAllSessionsForPolling() constLooks up all sessions to process when polling if ETags match (IRH_SessionOwnerInterface requirement)
public void SearchForSessions(const FRH_SessionBrowserSearchParams & Params,const FRH_OnSessionSearchCompleteDelegateBlock & Delegate)Utility function that searches the session browser cache for information on browser sessions.
public inline void BLUEPRINT_SearchForSessions(const FRH_SessionBrowserSearchParams & Params,const FRH_OnSessionSearchCompleteDynamicDelegate & Delegate)Blueprint compatible version of SearchForSessions.
public void StartPolling()Start polling for session template and membership updates.
public void StopPolling()Stop polling for session template and membership updates.
public void PollForUpdate(const FRH_PollCompleteFunc & Delegate)Poll function for use with FRH_AutoPoller.
public void ForcePollForUpdate(bool bClearETag)Force an immediate poll.
public float GetPollTimeRemaining() constGet the current time remaining on poll cycle, or -1.f if not polling.
protected FRH_AutoPollerPtr PollerPoller for sessions.
protected TMap< FString, FRHAPI_SessionTemplate>TemplatesMap of Template Ids to Session Templates.
protected TOptional< FString > AllSessionsETagETag of last QueryAllSessions call response.
protected TOptional< FString > AllTemplatesETagETag of last QueryAllSessionTemplates call response.
protected TOptional< FOnlineSessionSearchResult > PlatformSessionToJoinOnUserChangeOSS Session that we need to join upon user change (ex: login).
protected TMap< FString, URH_SessionView* >SessionsMap of Session Ids to Sessions we are in.
protected TMap< FString, URH_SessionView* >ExpiringSessionsMap of Session Ids to Sessions objects that may be in the process of cleaning themselves up.
protected TMap< FString, FRH_APISessionWithETag>DeferredSessionUpdatesMap of Session Ids to Sessions updates we could not process for some reason, such as race conditions.
protected TMap< FString, URH_PlatformSessionSyncer* >PlatformSyncersMap of Session Ids to their Platform Session Syncers.
protected virtual URH_SessionView*CreateOrUpdateRHSession(const FRH_APISessionWithETag & Session,const ERHAPI_SessionPlayerStatus & LocalPlayerStatus)Creates or updates a specific session for the local player.
protected virtual bool LocalPlayerStatusFromSession(const FRHAPI_Session & Session,ERHAPI_SessionPlayerStatus & Status) constGets the local player status in a specific session.
protected inline virtual void RemoveSession(const URH_SessionView * Session)Removes a cached session for the local player, this does NOT try to leave it.
protected virtual void OnExpirationComplete(URH_SessionView * Session)Called when a session the local player is part of expires.
protected virtual bool PreprocessAPISessionImport(const FRHAPI_Session & Session,ERHAPI_SessionPlayerStatus & Status)Attepts to preprocess an API session.
protected virtual void OnUserChanged(const FGuid & OldPlayerUuid,class URH_PlayerInfo * OldLocalPlayerInfo)Base handling when the local user changes, override to provide functionality.
protected virtual void InitPropertiesWithDefaultValues()Initializes the subsystem with defaults for its cached data.
protected virtual void HandleNotification(const struct FRHAPI_Notification & Notification,const FString & APIName,const TArray< FString > & APIParams)Handle a notification from the notification API.
protected URH_PlatformSessionSyncer*CreatePlatformSyncer(URH_JoinedSession * Session)Creates a Platform Session Syncer for the local player.
protected virtual bool FilterOSSCallbackUser(const int32 ControllerId)Checks if the online subsystem call is for the local user.
protected virtual bool FilterOSSCallbackUser(const FUniqueNetId & UniqueNetId)Checks if the online subsystem call is for the local user.
protected virtual void OnPlatformActivityActivation(const FUniqueNetId & LocalUserId,const FString & ActivityId,const FOnlineSessionSearchResult * SessionInfo)Handles the response of an online subsystem activity activation.
protected virtual void OnPlatformSessionInviteAccepted(const bool bSuccesful,const int32 ControllerId,FUniqueNetIdPtr UserId,const FOnlineSessionSearchResult & Session)Handles the response of an online subsystem session invite.
protected virtual void OnPlatformSessionCreated(FName SessionName,bool bSuccess)Handles the response of an online subsystem session creation.
protected virtual void OnPlatformSessionJoined(FName SessionName,EOnJoinSessionCompleteResult::Type Result)Handles the response of an online subsystem session join.
protected virtual void OnPlatformSessionStarted(FName SessionName,bool bSuccess)Handles the response of an online subsystem session started.
protected virtual void OnPlatformSessionEnded(FName SessionName,bool bSuccess)Handles the response of an online subsystem session ended.
protected virtual void OnPlatformSessionDestroyed(FName SessionName,bool bSuccess)Handles the response of an online subsystem session destroy.
protected virtual void OnPlatformSessionParticipantsChanged(FName SessionName,const FUniqueNetId & UniqueNetId,bool bJoined)Called from other Platform Session Participant functions to reconcile the state of the platform syncer.
protected virtual void OnPlatformSessionParticipantChange(FName SessionName,const FUniqueNetId & UniqueNetId,bool bJoined)Handles the response of an online subsystem session participant change.
protected virtual void OnPlatformSessionParticipantRemoved(FName SessionName,const FUniqueNetId & UniqueNetId)Handles the response of an online subsystem session participant remove.
protected virtual void HandlePollAllSessionsComplete(bool bSuccess,const TArray< FString > & SessionIds)Handles the response of polling all sessions.

Members

public FRH_OnSessionUpdatedMulticastDynamicDelegate BLUEPRINT_OnSessionUpdatedDelegate

Multicast delegate triggered when a session managed by this subsystem is updated.

public FRH_OnSessionUpdatedMulticastDynamicDelegate BLUEPRINT_OnSessionAddedDelegate

Multicast delegate triggered when a session managed by this subsystem is added.

public FRH_OnSessionUpdatedMulticastDynamicDelegate BLUEPRINT_OnSessionRemovedDelegate

Multicast delegate triggered when a session managed by this subsystem is removed.

public FRH_OnSessionUpdatedMulticastDynamicDelegate BLUEPRINT_OnSessionExpirationCompleteDelegate

Multicast delegate triggered when a session managed by this subsystem is fully expired (happens after removal)

public FRH_OnLoginPollSessionsCompleteMulticastDynamicDelegate BLUEPRINT_OnLoginPollSessionsCompleteDelegate

Multicast delegate triggered when the initial poll after login is complete, to do first-time setup.

public FRH_OnFailedToJoinPlatformSessionMulticastDynamicDelegate BLUEPRINT_OnFailedToJoinPlatformSessionDelegate

Multicast delegate triggered when we fail to join a platform session that we’ve accepted an invite to.

public FRH_OnSessionUpdatedMulticastDelegate OnSessionUpdatedDelegate

Multicast delegate triggered when a session managed by this subsystem is updated.

public FRH_OnSessionUpdatedMulticastDelegate OnSessionAddedDelegate

Multicast delegate triggered when a session managed by this subsystem is added.

public FRH_OnSessionUpdatedMulticastDelegate OnSessionRemovedDelegate

Multicast delegate triggered when a session managed by this subsystem is removed.

public FRH_OnSessionUpdatedMulticastDelegate OnSessionExpirationCompleteDelegate

Multicast delegate triggered when a session managed by this subsystem is fully expired (happens after removal)

public FRH_OnLoginPollSessionsCompleteMulticastDelegate OnLoginPollSessionsCompleteDelegate

Multicast delegate triggered when the initial poll after login is complete, to do first-time setup.

public FRH_OnFailedToJoinPlatformSessionMulticastDelegate OnFailedToJoinPlatformSessionDelegate

Multicast delegate triggered when we fail to join a platform session that we’ve accepted an invite to.

public URH_LocalPlayerSessionSubsystem()

public virtual void Initialize()

Initialize the subsystem.

public virtual void Deinitialize()

Deinitialize the subsystem.

public inline virtual FAuthContextPtr GetSessionAuthContext() const

Get auth context for session (IRH_SessionOwnerInterface requirement)

public inline virtual URH_SessionView*GetSessionById(const FString & SessionId) const

Get session by its Session Id.

Parameters

  • SessionId Session Id to look up

Returns

Session object, if it exists

public TArray< URH_SessionView* >GetSessionsByType(const FString & Type) const

Get all joined and invited sessions by SessionType.

Parameters

  • SessionType SessionType to filter for

Returns

Array of session objects of the specified SessionType

public TArray< URH_InvitedSession* >GetInvitedSessionsByType(const FString & Type) const

Get all invited sessions by SessionType.

Parameters

  • SessionType SessionType to filter for

Returns

Array of session objects of the specified SessionType

public TArray< URH_JoinedSession* >GetJoinedSessionsByType(const FString & Type) const

Get all joined sessions by SessionType.

Parameters

  • SessionType SessionType to filter for

Returns

Array of session objects of the specified SessionType

public inline FORCEINLINE URH_SessionView*GetFirstSessionByType(const FString & Type) const

Get first joined or invited sessions by SessionType (useful for titles that ensure only one of a given session type will exist)

Parameters

  • SessionType SessionType to filter for

Returns

Session object of the specified SessionType, if it exists

public inline FORCEINLINE URH_InvitedSession*GetFirstInvitedSessionByType(const FString & Type) const

Get first invited sessions by SessionType (useful for titles that ensure only one of a given session type will exist)

Parameters

  • SessionType SessionType to filter for

Returns

Session object of the specified SessionType, if it exists

public inline FORCEINLINE URH_JoinedSession*GetFirstJoinedSessionByType(const FString & Type) const

Get first joined sessions by SessionType (useful for titles that ensure only one of a given session type will exist)

Parameters

  • SessionType SessionType to filter for

Returns

Session object of the specified SessionType, if it exists

public URH_JoinedSession*GetFirstActiveSession() const

Get first “active” session (session which is IsActive())

Parameters

  • SessionType SessionType to filter for

Returns

Session object of the specified SessionType, if it exists

public inline FORCEINLINE TArray< URH_SessionView* >GetSessions() const

Get an array of all sessions controlled by this system.

Returns

Array of session objects

public virtual void RemoveSessionById(const FString & SessionId)

Removes a cached session for the local player, this does NOT try to leave it.

Parameters

  • SessionId The Session Id to remove.

public inline FORCEINLINE bool IsInSession(const FString & SessionId)

Utility function to determine if local player is a member of that session.

Parameters

  • SessionId Session Id to check

Returns

whether or not the player is in the session

public virtual class URH_PlayerInfoSubsystem*GetPlayerInfoSubsystem() const

Utility function to look up the player info subsystem (IRH_SessionOwnerInterface requirement)

public virtual IOnlineSubsystem * GetOSS() const

Utility function to look up the OnlineSubsystem to use for session calls (IRH_SessionOwnerInterface requirement)

public virtual FUniqueNetIdWrapper GetOSSUniqueId() const

Utility function to look up the UniqueNetId to use for OnlineSubsystem calls (IRH_SessionOwnerInterface requirement)

public virtual FPlatformUserId GetOSSPlatformUserId() const

Gets the Online Subsystem PlatformUserId to use for OSS calls (equivalent to controller index)

public virtual FGuid GetPlayerUuid() const

Gets the Player UUID to use for player related calls (can be invalid)

public inline virtual URH_PlatformSessionSyncer*GetPlatformSyncerByRHSessionId(const FString & SessionId) const

Gets the platform session synchronization object for a given session id (IRH_SessionOwnerInterface requirement)

Parameters

  • SessionId RallyHere Session Id to look up the synchornization object wiht

Returns

Platform Session synchronization object

public virtual URH_PlatformSessionSyncer*GetPlatformSyncerByPlatformSessionId(const FUniqueNetIdRepl & PlatformSessionId) const

Gets the platform session synchronization object for a given platform session id.

Parameters

  • PlatformSessionId Platform Session Id (as string) to look up the synchornization object wiht

Returns

Platform Session synchronization object

public inline virtual void SetPlatformSessionToJoinOnUserChange(const FOnlineSessionSearchResult & Session)

Set a platform session to join upon the next user change.

public inline virtual void ClearPlatformSessionToJoinOnUserChange()

Clear a platform session to join upon the next user change.

public inline void CreateOrJoinSessionByType(const FRHAPI_CreateOrJoinRequest & CreateParams,const FRH_OnSessionUpdatedDelegateBlock & Delegate)

Utility function to Create or Join a session by a given SessionType (most times will create a session, but Hub join rules may do a Join instead)

Parameters

  • CreateParams Creation paramters for the session

  • Delegate delegate to trigger when complete

public inline void BLUEPRINT_CreateOrJoinSessionByType(const FRHAPI_CreateOrJoinRequest & CreateParams,const FRH_OnSessionUpdatedDynamicDelegate & Delegate)

Blueprint compatible version of CreateOrJoinSessionByType.

Parameters

  • CreateParams Creation paramters for the session

  • Delegate delegate to trigger when complete

public inline void JoinSessionById(const FString & SessionId,const FRH_OnSessionUpdatedDelegateBlock & Delegate)

Utility function to Join a session by SessionId.

Parameters

  • SessionId The session id to join

  • Delegate delegate to trigger when complete

public inline void BLUEPRINT_JoinSessionById(const FString & SessionId,const FRH_OnSessionUpdatedDynamicDelegate & Delegate)

Blueprint compatible version of JoinSessionById.

Parameters

  • SessionId The session id to join

  • Delegate delegate to trigger when complete

public virtual void ImportAPISession(const FRH_APISessionWithETag & Session)

Imports a new or updated session from the API into this subsystem (IRH_SessionOwnerInterface requirement)

Parameters

  • Session The session data to import

public virtual void ImportAPITemplate(const FRHAPI_SessionTemplate & Template)

Imports a new session template from the API into this subsystem (IRH_SessionOwnerInterface requirement)

Parameters

  • Template the template data to import

public virtual void ReconcileAPISessions(const TArray< FString > & SessionIds,const TOptional< FString > & ETag)

Reconciles the list of session ids with this subsystem, removing any sessions that are no longer in the list, then updates the stored ETag for the local player’s session list (IRH_SessionOwnerInterface requirement)

Parameters

  • SessionIds The list of session ids to reconcile against

  • ETag optional ETag to use when querying all sessions for optimization

public virtual void ReconcileAPITemplates(const TArray< FString > & InTemplates,const TOptional< FString > & ETag)

Reconciles the list of template SessionTypes with this subsystem, removing any templates that are no longer in the list, then updates the stored ETag for the local player’s templatelist (IRH_SessionOwnerInterface requirement)

Parameters

  • InTemplates The list of template names (SessionType) ids to reconcile against

  • ETag optional ETag to use when querying all templates for optimization

public virtual bool GetTemplate(const FString & Type,FRHAPI_SessionTemplate & Template) const

Looks up a template from within this subsystem (IRH_SessionOwnerInterface requirement)

Parameters

  • Type The SessionType to look up

  • Template The template information, if found

Returns

Whether or not the template was found

public inline FORCEINLINE TArray< FRHAPI_SessionTemplate>GetTemplates() const

Gets a list of all templates in this subsystem.

Returns

Array of all templates

public inline virtual TOptional< FString > GetETagForAllSessionsPoll() const

Looks up a ETag to use when querying for session membership (IRH_SessionOwnerInterface requirement)

public inline virtual TOptional< FString > GetETagForAllTemplatesPoll() const

Looks up a ETag to use when querying for template information (IRH_SessionOwnerInterface requirement)

public inline virtual TArray< URH_SessionView* >GetAllSessionsForPolling() const

Looks up all sessions to process when polling if ETags match (IRH_SessionOwnerInterface requirement)

public void SearchForSessions(const FRH_SessionBrowserSearchParams & Params,const FRH_OnSessionSearchCompleteDelegateBlock & Delegate)

Utility function that searches the session browser cache for information on browser sessions.

Parameters

  • Params Search parameters for the browser search

  • Delegate Delegate to trigger once complete

public inline void BLUEPRINT_SearchForSessions(const FRH_SessionBrowserSearchParams & Params,const FRH_OnSessionSearchCompleteDynamicDelegate & Delegate)

Blueprint compatible version of SearchForSessions.

Parameters

  • Params Search parameters for the browser search

  • Delegate Delegate to trigger once complete

public void StartPolling()

Start polling for session template and membership updates.

public void StopPolling()

Stop polling for session template and membership updates.

public void PollForUpdate(const FRH_PollCompleteFunc & Delegate)

Poll function for use with FRH_AutoPoller.

Parameters

  • PollComplete delegate to restart the poll

public void ForcePollForUpdate(bool bClearETag)

Force an immediate poll.

public float GetPollTimeRemaining() const

Get the current time remaining on poll cycle, or -1.f if not polling.

protected FRH_AutoPollerPtr Poller

Poller for sessions.

protected TMap< FString, FRHAPI_SessionTemplate>Templates

Map of Template Ids to Session Templates.

protected TOptional< FString > AllSessionsETag

ETag of last QueryAllSessions call response.

protected TOptional< FString > AllTemplatesETag

ETag of last QueryAllSessionTemplates call response.

protected TOptional< FOnlineSessionSearchResult > PlatformSessionToJoinOnUserChange

OSS Session that we need to join upon user change (ex: login).

protected TMap< FString, URH_SessionView* >Sessions

Map of Session Ids to Sessions we are in.

protected TMap< FString, URH_SessionView* >ExpiringSessions

Map of Session Ids to Sessions objects that may be in the process of cleaning themselves up.

protected TMap< FString, FRH_APISessionWithETag>DeferredSessionUpdates

Map of Session Ids to Sessions updates we could not process for some reason, such as race conditions.

protected TMap< FString, URH_PlatformSessionSyncer* >PlatformSyncers

Map of Session Ids to their Platform Session Syncers.

protected virtual URH_SessionView*CreateOrUpdateRHSession(const FRH_APISessionWithETag & Session,const ERHAPI_SessionPlayerStatus & LocalPlayerStatus)

Creates or updates a specific session for the local player.

Parameters

  • Session Session information to create or update.

  • LocalPlayerStatus The status of the local player in the session.

Returns

The session that is created or updated.

protected virtual bool LocalPlayerStatusFromSession(const FRHAPI_Session & Session,ERHAPI_SessionPlayerStatus & Status) const

Gets the local player status in a specific session.

Parameters

  • Session The Session to get the local player status from.

  • Status The status of the local player in the session.

Returns

True if the player is part of that session.

protected inline virtual void RemoveSession(const URH_SessionView * Session)

Removes a cached session for the local player, this does NOT try to leave it.

Parameters

  • Session The Session to remove.

protected virtual void OnExpirationComplete(URH_SessionView * Session)

Called when a session the local player is part of expires.

Parameters

  • Session The session that expired.

protected virtual bool PreprocessAPISessionImport(const FRHAPI_Session & Session,ERHAPI_SessionPlayerStatus & Status)

Attepts to preprocess an API session.

Parameters

  • Session The session to preprocess.

  • Status The status of the local player to that session.

Returns

False if deferred or dropped, true if it can be processed.

protected virtual void OnUserChanged(const FGuid & OldPlayerUuid,class URH_PlayerInfo * OldLocalPlayerInfo)

Base handling when the local user changes, override to provide functionality.

Parameters

  • OldPlayerUuid The old player Uuid.

  • OldLocalPlayerInfo The old local player info.

protected virtual void InitPropertiesWithDefaultValues()

Initializes the subsystem with defaults for its cached data.

protected virtual void HandleNotification(const struct FRHAPI_Notification & Notification,const FString & APIName,const TArray< FString > & APIParams)

Handle a notification from the notification API.

Parameters

  • Notification The notification to handle.

  • APIName The name of the API that sent the notification.

  • APIParams The parameters for the API that sent the notification.

protected URH_PlatformSessionSyncer*CreatePlatformSyncer(URH_JoinedSession * Session)

Creates a Platform Session Syncer for the local player.

Parameters

  • Session The Session assocaited with the syncer.

Returns

The Platform Session Syncer.

protected virtual bool FilterOSSCallbackUser(const int32 ControllerId)

Checks if the online subsystem call is for the local user.

Parameters

  • ControllerId The controller Id to check against.

Returns

True if the callback is allowed.

protected virtual bool FilterOSSCallbackUser(const FUniqueNetId & UniqueNetId)

Checks if the online subsystem call is for the local user.

Parameters

  • UniqueNetId The Unique Net Id to check against.

Returns

True if the callback is allowed.

protected virtual void OnPlatformActivityActivation(const FUniqueNetId & LocalUserId,const FString & ActivityId,const FOnlineSessionSearchResult * SessionInfo)

Handles the response of an online subsystem activity activation.

Parameters

  • LocalUserId The Unique Net Id associated with the activity.

  • ActivityId The Id of the activity.

  • SessionInfo The session info associated with the activity.

protected virtual void OnPlatformSessionInviteAccepted(const bool bSuccesful,const int32 ControllerId,FUniqueNetIdPtr UserId,const FOnlineSessionSearchResult & Session)

Handles the response of an online subsystem session invite.

Parameters

  • bSuccesful True if the invite was successful.

  • ControllerId The controller Id of the invited player.

  • UserId Unique Net Id of the invited player.

  • Session The Session the invite was for.

protected virtual void OnPlatformSessionCreated(FName SessionName,bool bSuccess)

Handles the response of an online subsystem session creation.

Parameters

  • SessionName The name of the created session.

  • bSuccess True if the creation was successful.

protected virtual void OnPlatformSessionJoined(FName SessionName,EOnJoinSessionCompleteResult::Type Result)

Handles the response of an online subsystem session join.

Parameters

  • SessionName The name of the associated session.

  • Result The resule of the join attempt.

protected virtual void OnPlatformSessionStarted(FName SessionName,bool bSuccess)

Handles the response of an online subsystem session started.

Parameters

  • SessionName The name of the associated session.

  • bSuccess True if the creation was successful.

protected virtual void OnPlatformSessionEnded(FName SessionName,bool bSuccess)

Handles the response of an online subsystem session ended.

Parameters

  • SessionName The name of the associated session.

  • bSuccess True if the creation was successful.

protected virtual void OnPlatformSessionDestroyed(FName SessionName,bool bSuccess)

Handles the response of an online subsystem session destroy.

Parameters

  • SessionName The name of the associated session.

  • bSuccess True if the creation was successful.

protected virtual void OnPlatformSessionParticipantsChanged(FName SessionName,const FUniqueNetId & UniqueNetId,bool bJoined)

Called from other Platform Session Participant functions to reconcile the state of the platform syncer.

Parameters

  • SessionName The name of the associated session.

  • UniqueNetId Unique Net Id of the participant that joined, changed, left, or was removed.

protected virtual void OnPlatformSessionParticipantChange(FName SessionName,const FUniqueNetId & UniqueNetId,bool bJoined)

Handles the response of an online subsystem session participant change.

Parameters

  • SessionName The name of the associated session.

  • UniqueNetId Unique Net Id of the participant that changed.

  • bJoined If that participant joined the session.

protected virtual void OnPlatformSessionParticipantRemoved(FName SessionName,const FUniqueNetId & UniqueNetId)

Handles the response of an online subsystem session participant remove.

Parameters

  • SessionName The name of the associated session.

  • UniqueNetId Unique Net Id of the participant that was removed.

protected virtual void HandlePollAllSessionsComplete(bool bSuccess,const TArray< FString > & SessionIds)

Handles the response of polling all sessions.

Parameters

  • bSuccess True if the poll was successful.

  • SessionIds Session Ids updated from the polling.

class URH_LocalPlayerSubsystem

class URH_LocalPlayerSubsystem
: public ULocalPlayerSubsystem

Subsystem to manage the local player.

Summary

MembersDescriptions
public FRH_AutoInventoryCompleteDelegate OnAutoInventorySessionCreatedBroadcast delegate for when intial inventory session is created, if using auto creation.
public FRH_AutoInventoryCompleteDelegate OnAutoEntitlementsProcessedBroadcast delegate for when intial platform entitlements are processed, if using auto processing.
public virtual bool ShouldCreateSubsystem(UObject * Outer) constWhether to create the subsystem (defaults to not creating if there are any derived subsystems).
public virtual void Initialize(FSubsystemCollectionBase & Collection)Initialize the subsystem.
public virtual void Deinitialize()Safely tears down the subsystem.
public virtual bool IsLoggedIn() constGets if the player is currently logged in.
public virtual FGuid GetPlayerUuid() constGets the player’s unique player id.
public ERHAPI_PlatformTypes_DEPRECATED GetLoggedInPlatformType() constGets the platform type for the player if logged in.
public virtual ERHAPI_Platform GetLoggedInPlatform() constGets the platform type for the player if logged in.
public virtual FUniqueNetIdWrapper GetOSSUniqueId() constGets the player’s OSS unique id.
public virtual int32 GetPlatformUserId() constGets the player’s platform id.
public inline virtual TSharedPtr< class IAnalyticsProvider > GetAnalyticsProvider() constGets the player’s analytics provider.
public virtual TSharedPtr< class IAnalyticsProvider > CreateAnalyticsProvider()Gets the player’s analytics provider.
public virtual URH_PlayerInfo*GetLocalPlayerInfo() constGets the player’s player info.
public virtual FRH_PlayerPlatformId GetPlayerPlatformId() constGets the player’s platform id wrapped with platform type.
public inline FORCEINLINE FAuthContextPtr GetAuthContext() constGets the player’s auth context.
public virtual IOnlineSubsystem * GetOSS(const FName & SubsystemName) constGet a specific OSS by name for this local player’s world. In editor, this allows each world/game instance to have a different OSS.
public inline FORCEINLINE URH_LocalPlayerLoginSubsystem*GetLoginSubsystem() constGets the player’s login subsystem.
public inline FORCEINLINE URH_AdSubsystem*GetAdSubsystem() constGets the player’s ad subsystem.
public inline FORCEINLINE URH_FriendSubsystem*GetFriendSubsystem() constGets the player’s friend subsystem.
public inline FORCEINLINE URH_LocalPlayerSessionSubsystem*GetSessionSubsystem() constGets the player’s session subsystem.
public inline FORCEINLINE URH_LocalPlayerPresenceSubsystem*GetPresenceSubsystem() constGets the player’s presence subsystem.
public inline FORCEINLINE URH_PurgeSubsystem*GetPurgeSubsystem() constGets the player’s purge subsystem.
public inline FORCEINLINE URH_EntitlementSubsystem*GetEntitlementSubsystem() constGets the player’s entitlement subsystem.
public virtual URH_PlayerNotifications*GetPlayerNotifications() constGets the player’s notification subsystem.
public virtual URH_PlayerInfoSubsystem*GetPlayerInfoSubsystem() constGets the player’s player info.
public virtual void CustomEndpoint(const FRH_CustomEndpointRequestWrapper & Request,const RallyHereAPI::FDelegate_CustomEndpointSend & Delegate)Custom Endpoint wrapper (for custom endpoints that require authentication)
public virtual void CustomEndpoint(const FRH_CustomEndpointRequestWrapper & Request,const FRH_CustomEndpointDelegateBlock & Delegate)Custom Endpoint wrapper (for custom endpoints that require authentication)
public inline void BLUEPRINT_CustomEndpoint(const FRH_CustomEndpointRequestWrapper & Request,const FRH_CustomEndpointDynamicDelegate & Delegate)Custom Endpoint wrapper (for custom endpoints that require authentication)
protected TArray< URH_LocalPlayerSubsystemPlugin* >SubsystemPluginsArray of plugins for the Local Player Subsystem.
protected TArray< URH_SandboxedSubsystemPlugin* >SandboxedSubsystemPluginsArray of sandboxed plugins for the Local Player Subsystem.
protected URH_LocalPlayerLoginSubsystem*LoginSubsystemThe Login Subsystem for the player.
protected URH_AdSubsystem*AdSubsystemThe Ad Subsystem for the player.
protected URH_FriendSubsystem*FriendSubsystemThe Friend Subsystem for the player.
protected URH_LocalPlayerSessionSubsystem*SessionSubsystemThe Session Subsystem for the player.
protected URH_LocalPlayerPresenceSubsystem*PresenceSubsystemThe Presence Subsystem for the player.
protected URH_PurgeSubsystem*PurgeSubsystemThe Purge Subsystem for the player.
protected URH_EntitlementSubsystem*EntitlementSubsystemThe Entitlement Subsystem for the player.
protected URH_PlayerInfoSubsystem*SandboxedPlayerInfoSubsystemThe Sandboxed PlayerInfo Subsystem for the player.
protected TWeakObjectPtr< URH_PlayerInfo>PlayerInfoCacheThe Player Info associated with the local player.
protected FAuthContextPtr AuthContextThe Local Players auth context.
protected TSharedPtr< class IAnalyticsProvider > AnalyticsProviderThe Analytics Provider for the player.
protected TOptional< FDateTime > AnalyticsStartTimeThe start time of the AnalyticsProvider
protected template<>
inline UClassToUse * AddSubsystemPlugin(const FSoftClassPath & SubsystemClassPath)
Adds a plugin to the Local Player Subsystem.
protected inline virtual void AddSubsystemPlugin(URH_LocalPlayerSubsystemPlugin * InPlugin)Adds a plugin to the Local Player Subsystem.
protected template<>
inline UClassToUse * AddSandboxedSubsystemPlugin(const FSoftClassPath & SubsystemClassPath)
Adds a sandboxed plugin to the Local Player Subsystem.
protected inline virtual void AddSandboxedSubsystemPlugin(URH_SandboxedSubsystemPlugin * InPlugin)Adds a plugin to the Local Player Subsystem.
protected virtual void OnUserLoggedIn(bool bSuccess)Called whenever the user logs in.
protected virtual void OnUserLoggedOut(bool bRefreshTokenExpired)Called whenever the user logs out explicitly.
protected virtual void OnUserChanged()Callback that occurs whenever the local player this subsystem is associated with changes.
protected virtual void OnUserRefreshTokenExpired(FSimpleDelegate CompletionDelegate)Callback that occurs when the player’s refresh token expires while logged in.

Members

public FRH_AutoInventoryCompleteDelegate OnAutoInventorySessionCreated

Broadcast delegate for when intial inventory session is created, if using auto creation.

public FRH_AutoInventoryCompleteDelegate OnAutoEntitlementsProcessed

Broadcast delegate for when intial platform entitlements are processed, if using auto processing.

public virtual bool ShouldCreateSubsystem(UObject * Outer) const

Whether to create the subsystem (defaults to not creating if there are any derived subsystems).

public virtual void Initialize(FSubsystemCollectionBase & Collection)

Initialize the subsystem.

public virtual void Deinitialize()

Safely tears down the subsystem.

public virtual bool IsLoggedIn() const

Gets if the player is currently logged in.

public virtual FGuid GetPlayerUuid() const

Gets the player’s unique player id.

public ERHAPI_PlatformTypes_DEPRECATED GetLoggedInPlatformType() const

Gets the platform type for the player if logged in.

public virtual ERHAPI_Platform GetLoggedInPlatform() const

Gets the platform type for the player if logged in.

public virtual FUniqueNetIdWrapper GetOSSUniqueId() const

Gets the player’s OSS unique id.

public virtual int32 GetPlatformUserId() const

Gets the player’s platform id.

public inline virtual TSharedPtr< class IAnalyticsProvider > GetAnalyticsProvider() const

Gets the player’s analytics provider.

public virtual TSharedPtr< class IAnalyticsProvider > CreateAnalyticsProvider()

Gets the player’s analytics provider.

public virtual URH_PlayerInfo*GetLocalPlayerInfo() const

Gets the player’s player info.

public virtual FRH_PlayerPlatformId GetPlayerPlatformId() const

Gets the player’s platform id wrapped with platform type.

public inline FORCEINLINE FAuthContextPtr GetAuthContext() const

Gets the player’s auth context.

public virtual IOnlineSubsystem * GetOSS(const FName & SubsystemName) const

Get a specific OSS by name for this local player’s world. In editor, this allows each world/game instance to have a different OSS.

public inline FORCEINLINE URH_LocalPlayerLoginSubsystem*GetLoginSubsystem() const

Gets the player’s login subsystem.

public inline FORCEINLINE URH_AdSubsystem*GetAdSubsystem() const

Gets the player’s ad subsystem.

public inline FORCEINLINE URH_FriendSubsystem*GetFriendSubsystem() const

Gets the player’s friend subsystem.

public inline FORCEINLINE URH_LocalPlayerSessionSubsystem*GetSessionSubsystem() const

Gets the player’s session subsystem.

public inline FORCEINLINE URH_LocalPlayerPresenceSubsystem*GetPresenceSubsystem() const

Gets the player’s presence subsystem.

public inline FORCEINLINE URH_PurgeSubsystem*GetPurgeSubsystem() const

Gets the player’s purge subsystem.

public inline FORCEINLINE URH_EntitlementSubsystem*GetEntitlementSubsystem() const

Gets the player’s entitlement subsystem.

public virtual URH_PlayerNotifications*GetPlayerNotifications() const

Gets the player’s notification subsystem.

public virtual URH_PlayerInfoSubsystem*GetPlayerInfoSubsystem() const

Gets the player’s player info.

public virtual void CustomEndpoint(const FRH_CustomEndpointRequestWrapper & Request,const RallyHereAPI::FDelegate_CustomEndpointSend & Delegate)

Custom Endpoint wrapper (for custom endpoints that require authentication)

Parameters

  • [FRH_CustomEndpointRequestWrapper](Common.md#structFRH__CustomEndpointRequestWrapper) Wrapper struct containing call information

  • Delegate The delegate to call when the call is complete (contains raw response)

public virtual void CustomEndpoint(const FRH_CustomEndpointRequestWrapper & Request,const FRH_CustomEndpointDelegateBlock & Delegate)

Custom Endpoint wrapper (for custom endpoints that require authentication)

Parameters

  • [FRH_CustomEndpointRequestWrapper](Common.md#structFRH__CustomEndpointRequestWrapper) Wrapper struct containing call information

  • Delegate The delegate to call when the call is complete

public inline void BLUEPRINT_CustomEndpoint(const FRH_CustomEndpointRequestWrapper & Request,const FRH_CustomEndpointDynamicDelegate & Delegate)

Custom Endpoint wrapper (for custom endpoints that require authentication)

Parameters

  • [FRH_CustomEndpointRequestWrapper](Common.md#structFRH__CustomEndpointRequestWrapper) Wrapper struct containing call information

  • Delegate The delegate to call when the call is complete

protected TArray< URH_LocalPlayerSubsystemPlugin* >SubsystemPlugins

Array of plugins for the Local Player Subsystem.

protected TArray< URH_SandboxedSubsystemPlugin* >SandboxedSubsystemPlugins

Array of sandboxed plugins for the Local Player Subsystem.

protected URH_LocalPlayerLoginSubsystem*LoginSubsystem

The Login Subsystem for the player.

protected URH_AdSubsystem*AdSubsystem

The Ad Subsystem for the player.

protected URH_FriendSubsystem*FriendSubsystem

The Friend Subsystem for the player.

protected URH_LocalPlayerSessionSubsystem*SessionSubsystem

The Session Subsystem for the player.

protected URH_LocalPlayerPresenceSubsystem*PresenceSubsystem

The Presence Subsystem for the player.

protected URH_PurgeSubsystem*PurgeSubsystem

The Purge Subsystem for the player.

protected URH_EntitlementSubsystem*EntitlementSubsystem

The Entitlement Subsystem for the player.

protected URH_PlayerInfoSubsystem*SandboxedPlayerInfoSubsystem

The Sandboxed PlayerInfo Subsystem for the player.

protected TWeakObjectPtr< URH_PlayerInfo>PlayerInfoCache

The Player Info associated with the local player.

protected FAuthContextPtr AuthContext

The Local Players auth context.

protected TSharedPtr< class IAnalyticsProvider > AnalyticsProvider

The Analytics Provider for the player.

protected TOptional< FDateTime > AnalyticsStartTime

The start time of the AnalyticsProvider

protected template<>
inline UClassToUse * AddSubsystemPlugin(const FSoftClassPath & SubsystemClassPath)

Adds a plugin to the Local Player Subsystem.

Parameters

  • SubsystemClassPath The class path of the plugin to add.

Returns

The plugin that was added.

protected inline virtual void AddSubsystemPlugin(URH_LocalPlayerSubsystemPlugin * InPlugin)

Adds a plugin to the Local Player Subsystem.

Parameters

  • SubsystemClassPath The class path of the plugin to add.

Returns

The plugin that was added.

protected template<>
inline UClassToUse * AddSandboxedSubsystemPlugin(const FSoftClassPath & SubsystemClassPath)

Adds a sandboxed plugin to the Local Player Subsystem.

Parameters

  • SubsystemClassPath The class path of the plugin to add.

Returns

The plugin that was added.

protected inline virtual void AddSandboxedSubsystemPlugin(URH_SandboxedSubsystemPlugin * InPlugin)

Adds a plugin to the Local Player Subsystem.

Parameters

  • SubsystemClassPath The class path of the plugin to add.

Returns

The plugin that was added.

protected virtual void OnUserLoggedIn(bool bSuccess)

Called whenever the user logs in.

Parameters

  • bSuccess True if the login was successful, false otherwise.

protected virtual void OnUserLoggedOut(bool bRefreshTokenExpired)

Called whenever the user logs out explicitly.

protected virtual void OnUserChanged()

Callback that occurs whenever the local player this subsystem is associated with changes.

protected virtual void OnUserRefreshTokenExpired(FSimpleDelegate CompletionDelegate)

Callback that occurs when the player’s refresh token expires while logged in.

struct FRH_LoginResult

Struct for the login results.

Summary

MembersDescriptions
public ERHAPI_LoginResult ResultLogin Result.
public ERHAPI_LocalPlayerLoginOSS OSSTypeLogin OSS Type.
public FString OSSErrorMessageLogin Error Message.
public FString RallyHereErrorCodeRallyHere API Auth Error Code.
public TSharedPtr< const FUniqueNetId > OSSUniqueIdUnique Net Id for the player.
public TSharedPtr< const FUniqueNetId > NicknameOSSUniqueIdUnique Net ID for the player when using Nickname Login.
public uint32 PrivilegeResultsPrivilege Result for the login.
public bool bMustAcceptEULAIf true, the user needs to accept the EULA.
public bool bMustAcceptTOSIf true, the user needs to accept the TOS.
public bool bMustAcceptPPIf true, the user needs to accept the PP.
public inline FRH_LoginResult()Default constructor.

Members

public ERHAPI_LoginResult Result

Login Result.

public ERHAPI_LocalPlayerLoginOSS OSSType

Login OSS Type.

public FString OSSErrorMessage

Login Error Message.

public FString RallyHereErrorCode

RallyHere API Auth Error Code.

public TSharedPtr< const FUniqueNetId > OSSUniqueId

Unique Net Id for the player.

public TSharedPtr< const FUniqueNetId > NicknameOSSUniqueId

Unique Net ID for the player when using Nickname Login.

public uint32 PrivilegeResults

Privilege Result for the login.

public bool bMustAcceptEULA

If true, the user needs to accept the EULA.

public bool bMustAcceptTOS

If true, the user needs to accept the TOS.

public bool bMustAcceptPP

If true, the user needs to accept the PP.

public inline FRH_LoginResult()

Default constructor.