UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
OnlineEngineInterface.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
7#include "UObject/Object.h"
8#include "Online/CoreOnline.h"
9#include "OnlineEngineInterface.generated.h"
10
11class FVoicePacket;
12class UNetConnection;
13struct FWorldContext;
14
16DECLARE_DELEGATE_ThreeParams(FOnlineAutoLoginComplete, int32 /*LocalUserNum*/, bool /*bWasSuccessful*/, const FString& /*Error*/);
18DECLARE_DELEGATE_TwoParams(FOnlineSessionStartComplete, FName /*InSessionName*/, bool /*bWasSuccessful*/);
20DECLARE_DELEGATE_TwoParams(FOnlineSessionEndComplete, FName /*InSessionName*/, bool /*bWasSuccessful*/);
26DECLARE_DELEGATE_ThreeParams(FOnPIELoginComplete, int32 /*LocalUserNum*/, bool /*bWasSuccessful*/, const FString& /*Error*/);
27
40UCLASS(config = Engine, MinimalAPI)
42{
44
45public:
46
49
55 virtual bool IsLoaded(FName OnlineIdentifier = NAME_None) { return false; }
57 virtual FName GetOnlineIdentifier(FWorldContext& WorldContext) { return NAME_None; }
59 virtual bool DoesInstanceExist(FName OnlineIdentifier) { return false; }
65 virtual FName GetDefaultOnlineSubsystemName() const { return NAME_None; }
67 virtual bool IsCompatibleUniqueNetId(const FUniqueNetIdWrapper& InUniqueNetId) const { return (InUniqueNetId.IsV1() && InUniqueNetId.GetType() == GetDefaultOnlineSubsystemName()); }
68
81
90
96 virtual FUniqueNetIdWrapper CreateUniquePlayerIdWrapper(const FString& Str, FName Type = NAME_None) { return FUniqueNetIdWrapper(); }
99
101 virtual FString GetPlayerNickname(UWorld* World, const FUniqueNetIdWrapper& UniqueId) { return TEXT("INVALID"); }
103 virtual bool GetPlayerPlatformNickname(UWorld* World, int32 LocalUserNum, FString& OutNickname) { return false; }
104
108 virtual bool IsLoggedIn(UWorld* World, int32 LocalUserNum) { return false; }
109
115 virtual void StartSession(UWorld* World, FName SessionName, FOnlineSessionStartComplete& InCompletionDelegate) { InCompletionDelegate.ExecuteIfBound(SessionName, false); }
117 virtual void EndSession(UWorld* World, FName SessionName, FOnlineSessionEndComplete& InCompletionDelegate) { InCompletionDelegate.ExecuteIfBound(SessionName, false); }
119 virtual bool DoesSessionExist(UWorld* World, FName SessionName) { return false; }
120
121 virtual bool GetSessionJoinability(UWorld* World, FName SessionName, FJoinabilitySettings& OutSettings) { return false; }
122 virtual void UpdateSessionJoinability(UWorld* World, FName SessionName, bool bPublicSearchable, bool bAllowInvites, bool bJoinViaPresence, bool bJoinViaPresenceFriendsOnly) {}
123
125 virtual void RegisterPlayer(UWorld* World, FName SessionName, const FUniqueNetIdWrapper& UniqueId, bool bWasInvited) {}
127 virtual void UnregisterPlayer(UWorld* World, FName SessionName, const FUniqueNetIdWrapper& UniqueId) {}
131 virtual bool GetResolvedConnectString(UWorld* World, FName SessionName, FString& URL) { return false; }
132
141
148
150 virtual bool MuteRemoteTalker(UWorld* World, uint8 LocalUserNum, const FUniqueNetIdWrapper& PlayerId, bool bIsSystemWide) { return false; }
152 virtual bool UnmuteRemoteTalker(UWorld* World, uint8 LocalUserNum, const FUniqueNetIdWrapper& PlayerId, bool bIsSystemWide) { return false; }
154 virtual int32 GetNumLocalTalkers(UWorld* World) { return 0; }
155
161 {
184
189 : bEmbedded(InbEmbedded)
190 , bShowCloseButton(false)
191 , bShowBackground(false)
192 , bHideCursor(false)
193 , bResetCookies(false)
194 , OffsetX(InOffsetX)
195 , OffsetY(InOffsetY)
196 , SizeX(InSizeX)
197 , SizeY(InSizeY)
198 {
199 }
200
205 : bEmbedded(false)
206 , bShowCloseButton(false)
207 , bShowBackground(false)
208 , bHideCursor(false)
209 , bResetCookies(false)
210 , OffsetX(0)
211 , OffsetY(0)
212 , SizeX(0)
213 , SizeY(0)
214 {
215 }
216 };
217
219 virtual void ShowLeaderboardUI(UWorld* World, const FString& CategoryName) {}
223 virtual void BindToExternalUIOpening(const FOnlineExternalUIChanged& Delegate) {}
224#define OSS_ADDED_SHOW_WEB 1
226 virtual void ShowWebURL(const FString& CurrentURL, const FShowWebUrlParams& ShowParams, const FOnlineShowWebUrlClosed& CompletionDelegate) {}
228 virtual bool CloseWebURL() { return false; }
229
235 virtual void DumpSessionState(UWorld* World) {}
237 virtual void DumpPartyState(UWorld* World) {}
239 virtual void DumpVoiceState(UWorld* World) {}
241 virtual void DumpChatState(UWorld* World) {}
242
248 virtual bool SupportsOnlinePIE() { return false; }
250 virtual void SetShouldTryOnlinePIE(bool bShouldTry) {}
252 virtual int32 GetNumPIELogins() { return 0; }
254 virtual FString GetPIELoginCommandLineArgs(int32 Index) { return TEXT(""); }
258 virtual void LoginPIEInstance(FName OnlineIdentifier, int32 LocalUserNum, int32 PIELoginNum, FOnPIELoginComplete& CompletionDelegate) { CompletionDelegate.ExecuteIfBound(LocalUserNum, false, TEXT("Not implemented")); }
259
260private:
261
263 static ENGINE_API UOnlineEngineInterface* Singleton;
264};
#define TEXT(x)
Definition Platform.h:1272
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_DELEGATE_TwoParams(DelegateName, Param1Type, Param2Type)
Definition DelegateCombinations.h:57
#define DECLARE_DELEGATE_OneParam(DelegateName, Param1Type)
Definition DelegateCombinations.h:48
#define DECLARE_DELEGATE_ThreeParams(DelegateName, Param1Type, Param2Type, Param3Type)
Definition DelegateCombinations.h:66
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition Engine.Build.cs:7
Definition Archive.h:1208
Definition NameTypes.h:617
Definition VoiceDataCommon.h:26
Definition Array.h:670
Definition SharedPointer.h:692
Definition NetConnection.h:284
Definition Object.h:95
Definition OnlineEngineInterface.h:42
virtual bool IsLoaded(FName OnlineIdentifier=NAME_None)
Definition OnlineEngineInterface.h:55
virtual TSharedPtr< FVoicePacket > SerializeRemotePacket(UWorld *World, const UNetConnection *const RemoteConnection, FArchive &Ar)
Definition OnlineEngineInterface.h:140
virtual void DumpChatState(UWorld *World)
Definition OnlineEngineInterface.h:241
virtual void UnregisterPlayer(UWorld *World, FName SessionName, const FUniqueNetIdWrapper &UniqueId)
Definition OnlineEngineInterface.h:127
virtual void UnregisterPlayers(UWorld *World, FName SessionName, const TArray< FUniqueNetIdWrapper > &Players)
Definition OnlineEngineInterface.h:129
virtual void StartSession(UWorld *World, FName SessionName, FOnlineSessionStartComplete &InCompletionDelegate)
Definition OnlineEngineInterface.h:115
virtual FString GetPIELoginCommandLineArgs(int32 Index)
Definition OnlineEngineInterface.h:254
virtual bool GetResolvedConnectString(UWorld *World, FName SessionName, FString &URL)
Definition OnlineEngineInterface.h:131
virtual int32 GetNumLocalTalkers(UWorld *World)
Definition OnlineEngineInterface.h:154
virtual bool GetSessionJoinability(UWorld *World, FName SessionName, FJoinabilitySettings &OutSettings)
Definition OnlineEngineInterface.h:121
virtual void ShowAchievementsUI(UWorld *World, int32 LocalUserNum)
Definition OnlineEngineInterface.h:221
virtual bool MuteRemoteTalker(UWorld *World, uint8 LocalUserNum, const FUniqueNetIdWrapper &PlayerId, bool bIsSystemWide)
Definition OnlineEngineInterface.h:150
virtual bool AutoLogin(UWorld *World, int32 LocalUserNum, const FOnlineAutoLoginComplete &InCompletionDelegate)
Definition OnlineEngineInterface.h:106
virtual bool UnmuteRemoteTalker(UWorld *World, uint8 LocalUserNum, const FUniqueNetIdWrapper &PlayerId, bool bIsSystemWide)
Definition OnlineEngineInterface.h:152
virtual TSharedPtr< FVoicePacket > GetLocalPacket(UWorld *World, uint8 LocalUserNum)
Definition OnlineEngineInterface.h:138
virtual void StopNetworkedVoice(UWorld *World, uint8 LocalUserNum)
Definition OnlineEngineInterface.h:145
virtual void DumpPartyState(UWorld *World)
Definition OnlineEngineInterface.h:237
virtual void RegisterPlayer(UWorld *World, FName SessionName, const FUniqueNetIdWrapper &UniqueId, bool bWasInvited)
Definition OnlineEngineInterface.h:125
virtual bool IsLoggedIn(UWorld *World, int32 LocalUserNum)
Definition OnlineEngineInterface.h:108
virtual FName GetDefaultOnlineSubsystemName() const
Definition OnlineEngineInterface.h:65
virtual FName GetSubsystemFromReplicationHash(uint8 InHash) const
Definition OnlineEngineInterface.h:89
virtual FName GetOnlineIdentifier(FWorldContext &WorldContext)
Definition OnlineEngineInterface.h:57
virtual bool IsCompatibleUniqueNetId(const FUniqueNetIdWrapper &InUniqueNetId) const
Definition OnlineEngineInterface.h:67
virtual bool GetPlayerPlatformNickname(UWorld *World, int32 LocalUserNum, FString &OutNickname)
Definition OnlineEngineInterface.h:103
virtual uint8 GetReplicationHashForSubsystem(FName InSubsystemName) const
Definition OnlineEngineInterface.h:80
virtual void SetForceDedicated(FName OnlineIdentifier, bool bForce)
Definition OnlineEngineInterface.h:256
virtual void ShowLeaderboardUI(UWorld *World, const FString &CategoryName)
Definition OnlineEngineInterface.h:219
virtual void EndSession(UWorld *World, FName SessionName, FOnlineSessionEndComplete &InCompletionDelegate)
Definition OnlineEngineInterface.h:117
virtual void BindToExternalUIOpening(const FOnlineExternalUIChanged &Delegate)
Definition OnlineEngineInterface.h:223
virtual void ShowWebURL(const FString &CurrentURL, const FShowWebUrlParams &ShowParams, const FOnlineShowWebUrlClosed &CompletionDelegate)
Definition OnlineEngineInterface.h:226
virtual FUniqueNetIdWrapper GetUniquePlayerIdWrapper(UWorld *World, int32 LocalUserNum, FName Type=NAME_None)
Definition OnlineEngineInterface.h:98
virtual void StartNetworkedVoice(UWorld *World, uint8 LocalUserNum)
Definition OnlineEngineInterface.h:143
virtual bool SupportsOnlinePIE()
Definition OnlineEngineInterface.h:248
virtual int32 GetNumPIELogins()
Definition OnlineEngineInterface.h:252
virtual void ShutdownOnlineSubsystem(FName OnlineIdentifier)
Definition OnlineEngineInterface.h:61
virtual void UpdateSessionJoinability(UWorld *World, FName SessionName, bool bPublicSearchable, bool bAllowInvites, bool bJoinViaPresence, bool bJoinViaPresenceFriendsOnly)
Definition OnlineEngineInterface.h:122
virtual void SetShouldTryOnlinePIE(bool bShouldTry)
Definition OnlineEngineInterface.h:250
virtual bool CloseWebURL()
Definition OnlineEngineInterface.h:228
virtual bool DoesInstanceExist(FName OnlineIdentifier)
Definition OnlineEngineInterface.h:59
virtual void DestroyOnlineSubsystem(FName OnlineIdentifier)
Definition OnlineEngineInterface.h:63
virtual void ClearVoicePackets(UWorld *World)
Definition OnlineEngineInterface.h:147
virtual FString GetPlayerNickname(UWorld *World, const FUniqueNetIdWrapper &UniqueId)
Definition OnlineEngineInterface.h:101
virtual void DumpSessionState(UWorld *World)
Definition OnlineEngineInterface.h:235
virtual void LoginPIEInstance(FName OnlineIdentifier, int32 LocalUserNum, int32 PIELoginNum, FOnPIELoginComplete &CompletionDelegate)
Definition OnlineEngineInterface.h:258
virtual FUniqueNetIdWrapper CreateUniquePlayerIdWrapper(const FString &Str, FName Type=NAME_None)
Definition OnlineEngineInterface.h:96
virtual void DumpVoiceState(UWorld *World)
Definition OnlineEngineInterface.h:239
virtual bool DoesSessionExist(UWorld *World, FName SessionName)
Definition OnlineEngineInterface.h:119
Definition World.h:918
@ false
Definition radaudio_common.h:23
U16 Index
Definition radfft.cpp:71
Definition CoreOnline.h:44
Definition CoreOnline.h:504
Definition Engine.h:334
Definition OnlineEngineInterface.h:161
bool bResetCookies
Definition OnlineEngineInterface.h:171
int32 SizeY
Definition OnlineEngineInterface.h:179
FShowWebUrlParams(bool InbEmbedded, int32 InOffsetX, int32 InOffsetY, int32 InSizeX, int32 InSizeY)
Definition OnlineEngineInterface.h:188
FShowWebUrlParams()
Definition OnlineEngineInterface.h:204
FString CallbackPath
Definition OnlineEngineInterface.h:183
int32 OffsetX
Definition OnlineEngineInterface.h:173
bool bHideCursor
Definition OnlineEngineInterface.h:169
bool bShowCloseButton
Definition OnlineEngineInterface.h:165
int32 SizeX
Definition OnlineEngineInterface.h:177
bool bEmbedded
Definition OnlineEngineInterface.h:163
bool bShowBackground
Definition OnlineEngineInterface.h:167
TArray< FString > AllowedDomains
Definition OnlineEngineInterface.h:181
int32 OffsetY
Definition OnlineEngineInterface.h:175