FOnlineSubsystemSteam

OnlineSubsystemSteam - Implementation of the online subsystem for STEAM services

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

OnlineSubsystemSteam

Header

/Engine/Plugins/Online/OnlineSubsystemSteam/Source/Public/OnlineSubsystemSteam.h

Include

#include "OnlineSubsystemSteam.h"

Syntax

class FOnlineSubsystemSteam : public FOnlineSubsystemImpl

Remarks

OnlineSubsystemSteam - Implementation of the online subsystem for STEAM services

Variables

Name Description

Protected variable

FOnlineAchievem ...

 

AchievementsInterface

Interface for achievements

Protected variable

FOnlineAuthStea ...

 

AuthInterface

Interface for Steam Session Auth

Protected variable

FOnlineAuthStea ...

 

AuthInterfaceUtils

Protected variable

bool

 

bSteamworksClientInitialized

Has the STEAM client APIs been initialized

Protected variable

bool

 

bSteamworksGameServerInitialized

Whether or not the Steam game server API is initialized

Protected variable

bool

 

bUsingSteamNetworking

If we are using the SteamNetworking protocol or not.

Protected variable

bool

 

bVoiceInterfaceInitialized

Interface for voice communication

Protected variable

FOnlineEncrypte ...

 

EncryptedAppTicketInterface

Interface for Steam encrypted application tickets.

Protected variable

FOnlineExternal...

 

ExternalUIInterface

Interface to the external UI services

Protected variable

FOnlineFriendsS...

 

FriendInterface

Interface to the friend services

Protected variable

int32

 

GameServerGamePort

Game port - the port that clients will connect to for gameplay

Protected variable

int32

 

GameServerQueryPort

Query port - the port that will manage server browser related duties and info

Protected variable

int32

 

GameServerSteamPort

Steam port - the local port used to communicate with the steam servers

Protected variable

FOnlineIdentity...

 

IdentityInterface

Interface to the profile services

Protected variable

FOnlineLeaderbo...

 

LeaderboardsInterface

Interface to the leaderboard services

Protected variable

FRunnableThread ...

 

OnlineAsyncTaskThread

Online async task thread

Protected variable

FOnlineAsyncTas...

 

OnlineAsyncTaskThreadRunnable

Online async task runnable

Public variable

FOnSteamServerL ...

 

OnSteamServerLoginCompletedDelegates

This delegate fires whenever a steam login has succeeded or failed its async task.

Protected variable

FOnlinePingStea ...

 

PingInterface

Interface for dynamically calculating SteamNetworking ping based off protocol

Protected variable

FOnlinePresence...

 

PresenceInterface

Interface for presence

Protected variable

FOnlineSessionS...

 

SessionInterface

Interface to the session services

Protected variable

FOnlineSharedCl...

 

SharedCloudInterface

Interface to the shared cloud services

Protected variable

TSharedPtr < cla...

 

SteamAPIClientHandle

Steam Client API Handle

Protected variable

TSharedPtr < cla...

 

SteamAPIServerHandle

Steam Server API Handle

Protected variable

uint32

 

SteamAppID

Steam App ID for the running game

Protected variable

TArray < struct ...

 

UserCloudData

Array of the files in the cloud for a given user

Protected variable

FCriticalSectio ...

 

UserCloudDataLock

Critical sections for thread safe operation of the cloud files

Protected variable

FOnlineUserClou...

 

UserCloudInterface

Interface to the user cloud services

Protected variable

IOnlineVoicePtr

 

VoiceInterface

Interface to the voice engine

Constructors

Name Description

Protected function

FOnlineSubsystemSteam()

Only the factory makes instances

Protected function

FOnlineSubsystemSteam

(
    FName InInstanceName
)

Destructors

Name Description

Public function Virtual

~FOnlineSubsystemSteam()

Functions

Name Description

Public function Virtual

FDelegateHan ...

 

AddOnSteamServerLoginCompletedDelegate_Handle

(
    const FOnSteamServerLoginCompletedD ...
)

Public function Virtual

void

 

ClearOnSteamServerLoginCompletedDelegate_Handle

(
    FDelegateHandle & Handle
)

Public function Virtual

void

 

ClearOnSteamServerLoginCompletedDelegates

(
    void * Object
)

Protected function

void

 

ClearUserCloudFiles()

Clear out all the data related to user cloud storage

Protected function

bool

 

ClearUserCloudMetadata

(
    const FUniqueNetId & UserId,
    const FString & Filename
)

INTERNAL Clear the metadata related to a given user's file on Steam This information is only available after calling EnumerateUserFiles It doesn't actually delete any of the actual data on disk

Public function Virtual Const

FOnlineAuthS ...

 

GetAuthInterface()

Public function Virtual Const

FOnlineAuthS ...

 

GetAuthInterfaceUtils()

Public function Virtual Const

FOnlineEncry ...

 

GetEncryptedAppTicketInterface()

Public function Const

int32

 

GetGameServerGamePort()

Public function Const

int32

 

GetGameServerQueryPort()

Public function Const

int32

 

GetGameServerSteamPort()

Protected function

FOnlineLeade...

 

GetInternalLeaderboardsInterface()

INTERNAL Get the interface for accessing leaderboards/stats

Public function Virtual Const

FOnlinePingS ...

 

GetPingInterface()

Public function Const

uint32

 

GetSteamAppId()

Protected function

FSteamUserCl...

 

GetUserCloudEntry

(
    const FUniqueNetId & UserId
)

INTERNAL Get the metadata related to a given user This information is only available after calling EnumerateUserFiles

Protected function

bool

 

InitSteamworksClient

(
    bool bRelaunchInSteam,
    int32 SteamAppId
)

Initialize the client side APIs for Steam

Protected function

bool

 

InitSteamworksServer()

Initialize the server side APIs for Steam

Public function

bool

 

IsSteamClientAvailable()

Whether or not the Steam Client interfaces are available; these interfaces are only available, if the Steam Client program is running NOTE: These interfaces are made unavailable, when running a dedicated server

Public function

bool

 

IsSteamServerAvailable()

Whether or not the Steam game server interfaces are available; these interfaces are always available, so long as they were initialized correctly NOTE: The Steam Client does not need to be running for the game server interfaces to initialize NOTE: These interfaces are made unavailable, when not running a server

Public function Const

bool

 

IsUsingSteamNetworking()

Protected function

void

 

QueueAsyncOutgoingItem

(
    FOnlineAsyncItem * AsyncItem
)

Add an async task onto the outgoing task queue for processing

Protected function

void

 

QueueAsyncTask

(
    FOnlineAsyncTask * AsyncTask
)

Add an async task onto the task queue for processing

Public function Virtual

void

 

SetPingInterface

(
    FOnlinePingSteamPtr InPingInterface
)

Protected function

void

 

ShutdownSteamworks()

Shutdown the Steam APIs

Public function Virtual

void

 

TriggerOnSteamServerLoginCompletedDelegates

(
    bool Param1
)

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

FString

 

GetAppId()

Each online subsystem has a global id for the app

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

IOnlineFrien ...

 

GetFriendsInterface()

Get the interface for accessing the player friends services

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

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

FText

 

GetOnlineServiceName()

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

IOnlineSessi ...

 

GetSessionInterface()

Get the interface for accessing the session management services

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

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

IOnlineTourn ...

 

GetTournamentInterface()

Get the interface for managing tournament information

Public function Virtual Const

IOnlineTurnB ...

 

GetTurnBasedInterface()

Get the interface for managing turn based multiplayer games

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

bool

 

Init()

Initialize the underlying subsystem APIs

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

bool

 

Shutdown()

Shutdown the underlying subsystem APIs

Overridden from FTickerObjectBase

Name Description

Public function Virtual

bool

 

Tick

(
    float DeltaTime
)

FTickerObjectBase .

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback