FOnlineSubsystemImpl

[FOnlineSubsystemImpl](API\Plugins\OnlineSubsystem\FOnlineSubsystemImpl) - common functionality to share across online platforms, not intended for direct use

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

OnlineSubsystem

Header

/Engine/Plugins/Online/OnlineSubsystem/Source/Public/OnlineSubsystemImpl.h

Include

#include "OnlineSubsystemImpl.h"

Syntax

class FOnlineSubsystemImpl :
    public IOnlineSubsystem,
    public FTickerObjectBase

Remarks

FOnlineSubsystemImpl - common functionality to share across online platforms, not intended for direct use

Variables

Name Description

Protected variable

bool

 

bForceDedicated

Whether or not the online subsystem is in forced dedicated server mode

Protected variable

bool

 

bTickerStarted

Is the ticker started

Protected variable

TArray< FNextTi...

 

CurrentTickBuffer

Buffer to hold callbacks for the current tick (so it's safe to call ExecuteNextTick within a tick callback)

Protected variable

FName

 

InstanceName

Instance name (disambiguates PIE instances for example)

Protected variable

UNamedInterface...

 

NamedInterfaces

Holds all currently named interfaces

Protected variable

TQueue< FNextTi...

 

NextTickQueue

Queue to hold callbacks scheduled for next tick using ExecuteNextTick

Protected variable

FName

 

SubsystemName

Name of the subsystem

Constructors

Name Description

Protected function

FOnlineSubsystemImpl()

Hidden on purpose

Protected function

FOnlineSubsystemImpl

(
    FName InSubsystemName,
    FName InInstanceName
)

Protected function

FOnlineSubsystemImpl

(
    FName InSubsystemName,
    FName InInstanceName,
    FTicker& Ticker
)

Destructors

Name Description

Public function Virtual

~FOnlineSubsystemImpl()

Functions

Name Description

Public function

void

 

ExecuteDelegateNextTick

(
    const FNextTickDelegate& Callback
)

Queue a delegate to be executed on the next tick

Public function

void

 

ExecuteNextTick

(
    LAMBDA_TYPE&& Callback
)

Templated helper for calling ExecuteDelegateNextTick with a lambda function

Public function Static

FString

 

FilterResponseStr

(
    const FString& ResponseStr,
    const TArray< FString >& RedactFie...
)

Modify a response string so that it can be logged cleanly

Protected function

void

 

InitNamedInterfaces()

Load in any named interfaces specified by the ini configuration

Protected function

void

 

OnNamedInterfaceCleanup()

Delegate fired when named interfaces are cleaned up at exit

Protected function

void

 

StartTicker()

Start Ticker

Protected function

void

 

StopTicker()

Stop Ticker

Overridden from IOnlineSubsystem

Name Description

Public function Virtual

bool

 

Exec

(
    UWorld* InWorld,
    const TCHAR* Cmd,
    FOutputDevice& Ar
)

Exec handler that allows the online subsystem to process exec commands

Public function Virtual Const

IOnlineAchie...

 

GetAchievementsInterface()

Get the interface for accessing online achievements

Public function Virtual Const

IOnlineChatP...

 

GetChatInterface()

Get the interface for user-user and user-room chat functionality

Public function Virtual Const

IOnlineEntit...

 

GetEntitlementsInterface()

Get the interface for accessing user entitlements

Public function Virtual Const

IOnlineEvent...

 

GetEventsInterface()

Get the interface for accessing online achievements

Public function Virtual Const

IOnlineExter...

 

GetExternalUIInterface()

Get the interface for accessing the external UIs of a service

Public function Virtual Const

IOnlineGameA...

 

GetGameActivityInterface()

Get interface for accessing the game activity

Public function Virtual Const

IOnlineGameI...

 

GetGameItemStatsInterface()

Get interface for accessing the game item stats

Public function Virtual Const

IOnlineGroup...

 

GetGroupsInterface()

IOnlineSubsystem.

Public function Virtual Const

IOnlineIdent...

 

GetIdentityInterface()

Get the interface for accessing identity online services

Public function Virtual Const

FName

 

GetInstanceName()

Get the instance name, which is typically "default" or "none" but distinguishes one instance from another in "Play In Editor" mode.

Public function Virtual Const

IOnlineLeade...

 

GetLeaderboardsInterface()

Get the interface for accessing leaderboards/rankings of a service

Public function Virtual Const

IOnlineMessa...

 

GetMessageInterface()

Get the interface for accessing online messages

Public function Virtual Const

IMessageSani...

 

GetMessageSanitizer

(
    int32 LocalUserNum,
    FString& OutAuthTypeToExclude
)

Get the interface for accessing the message sanitizer service

Public function Virtual

UObject *...

 

GetNamedInterface

(
    FName InterfaceName
)

Get custom UObject data preserved by the online subsystem

Public function Virtual Const

EOnlineEnvir...

 

GetOnlineEnvironment()

Public function Virtual Const

FString

 

GetOnlineEnvironmentName()

Public function Virtual Const

IOnlineParty...

 

GetPartyInterface()

Get the interface for accessing the player party services

Public function Virtual Const

IOnlinePrese...

 

GetPresenceInterface()

Get the interface for managing rich presence information

Public function Virtual Const

IOnlinePurch...

 

GetPurchaseInterface()

Get the interface for purchasing

Public function Virtual Const

IOnlineShare...

 

GetSharedCloudInterface()

Get the interface for sharing user files in the cloud

Public function Virtual Const

IOnlineShari...

 

GetSharingInterface()

Get the interface for accessing online sharing

Public function Virtual Const

IOnlineStats...

 

GetStatsInterface()

Get the interface for accessing online stats

Public function Virtual Const

IOnlineStore...

 

GetStoreV2Interface()

Get the interface for accessing an online store

Public function Virtual Const

FName

 

GetSubsystemName()

Return the name of the subsystem

Public function Virtual Const

IOnlineTimeP...

 

GetTimeInterface()

Get the interface for accessing the server time from an online service

Public function Virtual Const

IOnlineTitle...

 

GetTitleFileInterface()

Get the interface for accessing title file online services

Public function Virtual Const

IOnlineUserC...

 

GetUserCloudInterface()

Get the interface for accessing user files in the cloud

Public function Virtual Const

IOnlineUserP...

 

GetUserInterface()

Get the interface for accessing online user information

Public function Virtual Const

IOnlineVoice...

 

GetVoiceInterface()

Get the interface for accessing voice related data

Public function Virtual Const

bool

 

IsDedicated()

Is the online subsystem associated with the game/editor/engine running as dedicated.

Public function Virtual Const

bool

 

IsEnabled()

Public function Virtual Const

bool

 

IsLocalPlayer

(
    const FUniqueNetId& UniqueId
)

Is a player local to this machine by unique id

Public function Virtual Const

bool

 

IsServer()

Is this instance of the game running as a server (dedicated OR listen) checks the Engine if possible for netmode status

Public function Virtual

void

 

PreUnload()

Perform any shutdown actions prior to any other modules being unloaded/shutdown

Public function Virtual

void

 

ReloadConfigs

(
    const TSet< FString >& ConfigSecti...
)

Reload the configuration if it is relevant for this OSS instance

Public function Virtual

void

 

SetForceDedicated

(
    bool bForce
)

Force the online subsystem to behave as if it's associated with running a dedicated server

Public function Virtual

void

 

SetNamedInterface

(
    FName InterfaceName,
    UObject* NewInterface
)

Set a custom UObject to be preserved by the online subsystem

Public function Virtual

void

 

SetUsingMultiplayerFeatures

(
    const FUniqueNetId& UniqueId,
    bool bUsingMP
)

Some platforms must know when the game is using Multiplayer features so they can do recurring authorization checks.

Public function Virtual

bool

 

Shutdown()

Shutdown the underlying subsystem APIs

Overridden from FTickerObjectBase

Name Description

Public function Virtual

bool

 

Tick

(
    float DeltaTime
)

FTickerObjectBase.

Constants

Name

Description

DefaultInstanceName

Name given to default OSS instances (disambiguates for PIE)

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss