MultiWorld 1.9.0
Manage multiple isolated UWorld instances simultaneously in Unreal Engine, transferring player and actors between worlds.
Loading...
Searching...
No Matches
List of all members
UMultiWorldOverrides Class Referencefinal

All functions that MUST be overridden for the correct behaviour of the MultiWorld plugin. More...

#include <MultiWorldOverrides.h>

Static Public Member Functions

UGameInstance overrides
static bool GameInstance_Exec (UGameInstance *Caller, UWorld *InWorld, const TCHAR *Cmd, FOutputDevice &Ar)
 This function must be invoked instead of UGameInstance::Exec(). More...
 
static void GameInstance_OnWorldChanged (UGameInstance *Caller, UWorld *OldWorld, UWorld *NewWorld)
 This function must be invoked instead of UGameInstance::OnWorldChanged(). More...
 
UGameViewportClient overrides
static void GameViewportClient_AddViewportWidgetContent (UGameViewportClient *Caller, TSharedRef< class SWidget > ViewportContent, const int32 ZOrder=0)
 This function must be invoked overriding UGameViewportClient::AddViewportWidgetContent(). More...
 
static void GameViewportClient_AddViewportWidgetForPlayer (UGameViewportClient *Caller, ULocalPlayer *Player, TSharedRef< SWidget > ViewportContent, const int32 ZOrder)
 This function must be invoked overriding UGameViewportClient::AddViewportWidgetForPlayer(). More...
 
static void GameViewportClient_RemoveViewportWidgetContent (UGameViewportClient *Caller, TSharedRef< SWidget > ViewportContent)
 This function must be invoked overriding UGameViewportClient::RemoveViewportWidgetContent(). More...
 
static void GameViewportClient_RemoveViewportWidgetForPlayer (UGameViewportClient *Caller, ULocalPlayer *Player, TSharedRef< SWidget > ViewportContent)
 This function must be invoked overriding UGameViewportClient::RemoveViewportWidgetForPlayer(). More...
 
static void GameViewportClient_ReceivedFocus (UGameViewportClient *Caller, FViewport *InViewport)
 This function must be invoked overriding UGameViewportClient::ReceivedFocus(). More...
 
static void GameViewportClient_LayoutPlayers (UGameViewportClient *Caller)
 This function must be invoked overriding UGameViewportClient::LayoutPlayers(). More...
 
static void GameViewportClient_Tick (UGameViewportClient *Caller, float DeltaTime)
 This function must be invoked overriding UGameViewportClient::Tick(float). More...
 

Detailed Description

All functions that MUST be overridden for the correct behaviour of the MultiWorld plugin.

To properly work, the MultiWorld plugin requires to "hook" into some specific callbacks of Unreal Engine. Ready-to-use classes (see links below) are provided for the user, that can simply configure them in the "Project Settings". For more general uses, where the provided pre-made classes can't be used, the user MUST provide all the required hooks.

The user MUST guarantee that ALL the methods in this class are invoked INSTEAD OF the corresponding Unreal Engine implementations. Follow the documentation in each method.

See also
UMultiWorldGameInstance
UMultiWorldGameViewportClient

Member Function Documentation

◆ GameInstance_Exec()

static bool UMultiWorldOverrides::GameInstance_Exec ( UGameInstance *  Caller,
UWorld *  InWorld,
const TCHAR *  Cmd,
FOutputDevice &  Ar 
)
static

This function must be invoked instead of UGameInstance::Exec().

This implementation prevents that incompatible commands are invoked on the secondary worlds. UGameInstance::Exec is called inside.

◆ GameInstance_OnWorldChanged()

static void UMultiWorldOverrides::GameInstance_OnWorldChanged ( UGameInstance *  Caller,
UWorld *  OldWorld,
UWorld *  NewWorld 
)
static

This function must be invoked instead of UGameInstance::OnWorldChanged().

This implementation ensures to forward the event to UMultiWorldManager. UGameInstance::OnWorldChanged is called inside.

◆ GameViewportClient_AddViewportWidgetContent()

static void UMultiWorldOverrides::GameViewportClient_AddViewportWidgetContent ( UGameViewportClient *  Caller,
TSharedRef< class SWidget >  ViewportContent,
const int32  ZOrder = 0 
)
static

This function must be invoked overriding UGameViewportClient::AddViewportWidgetContent().

UGameViewportClient::AddViewportWidgetContent is called inside.

◆ GameViewportClient_AddViewportWidgetForPlayer()

static void UMultiWorldOverrides::GameViewportClient_AddViewportWidgetForPlayer ( UGameViewportClient *  Caller,
ULocalPlayer *  Player,
TSharedRef< SWidget >  ViewportContent,
const int32  ZOrder 
)
static

This function must be invoked overriding UGameViewportClient::AddViewportWidgetForPlayer().

UGameViewportClient::AddViewportWidgetForPlayer is called inside.

◆ GameViewportClient_LayoutPlayers()

static void UMultiWorldOverrides::GameViewportClient_LayoutPlayers ( UGameViewportClient *  Caller)
static

This function must be invoked overriding UGameViewportClient::LayoutPlayers().

UGameViewportClient::LayoutPlayers is called inside.

◆ GameViewportClient_ReceivedFocus()

static void UMultiWorldOverrides::GameViewportClient_ReceivedFocus ( UGameViewportClient *  Caller,
FViewport *  InViewport 
)
static

This function must be invoked overriding UGameViewportClient::ReceivedFocus().

The base behaviour, about the audio, is to activate the main audio device when the viewport receive the focus. Instead, being in a multi-world context, we activate the audio device associated with current active world. UGameViewportClient::ReceivedFocus is called inside.

◆ GameViewportClient_RemoveViewportWidgetContent()

static void UMultiWorldOverrides::GameViewportClient_RemoveViewportWidgetContent ( UGameViewportClient *  Caller,
TSharedRef< SWidget >  ViewportContent 
)
static

This function must be invoked overriding UGameViewportClient::RemoveViewportWidgetContent().

UGameViewportClient::RemoveViewportWidgetContent is called inside.

◆ GameViewportClient_RemoveViewportWidgetForPlayer()

static void UMultiWorldOverrides::GameViewportClient_RemoveViewportWidgetForPlayer ( UGameViewportClient *  Caller,
ULocalPlayer *  Player,
TSharedRef< SWidget >  ViewportContent 
)
static

This function must be invoked overriding UGameViewportClient::RemoveViewportWidgetForPlayer().

UGameViewportClient::RemoveViewportWidgetForPlayer is called inside.

◆ GameViewportClient_Tick()

static void UMultiWorldOverrides::GameViewportClient_Tick ( UGameViewportClient *  Caller,
float  DeltaTime 
)
static

This function must be invoked overriding UGameViewportClient::Tick(float).

UGameViewportClient::Tick is called inside.


The documentation for this class was generated from the following file: