UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FChaosVDRemoteSessionsManager Class Reference

#include <ChaosVDRemoteSessionsManager.h>

Public Types

typedef TFunction< void(const UScriptStruct *)> FVisitorFunction
 

Public Member Functions

 FChaosVDRemoteSessionsManager ()
 
CHAOSSOLVERENGINE_API void Initialize (const TSharedPtr< IMessageBus > &InMessageBus)
 
CHAOSSOLVERENGINE_API void Initialize ()
 
CHAOSSOLVERENGINE_API void Shutdown ()
 
CHAOSSOLVERENGINE_API void ReInitializeMessagingSystem (const TSharedPtr< IMessageBus > &InMessageBus)
 
FSimpleMulticastDelegateOnSessionsUpdated ()
 
FChaosVDSessionDiscoverDelegateOnSessionDiscovered ()
 
FChaosVDSessionDiscoverDelegateOnSessionExpired ()
 
CHAOSSOLVERENGINE_API void EnumerateMessageTypes (const FVisitorFunction &InVisitor)
 
CHAOSSOLVERENGINE_API void StartSessionDiscovery ()
 
CHAOSSOLVERENGINE_API void StopSessionDiscovery ()
 
CHAOSSOLVERENGINE_API void SendStartRecordingCommand (const FMessageAddress &InDestinationAddress, const FChaosVDStartRecordingCommandMessage &RecordingStartCommandParams)
 
CHAOSSOLVERENGINE_API void SendStopRecordingCommand (const FMessageAddress &InDestinationAddress)
 
CHAOSSOLVERENGINE_API void SendDataChannelStateChangeCommand (const FMessageAddress &InDestinationAddress, const FChaosVDChannelStateChangeCommandMessage &InNewStateData)
 
CHAOSSOLVERENGINE_API TWeakPtr< FChaosVDSessionInfoGetSessionInfo (FGuid Id)
 
template<typename CallbackType >
void EnumerateActiveSessions (const CallbackType &Callback)
 
void PublishRecordingStatusUpdate (const FChaosVDRecordingStatusMessage &InUpdateMessage)
 
void PublishTraceConnectionDetailsUpdate (const FChaosVDTraceConnectionDetailsMessage &InUpdateMessage)
 
void PublishDataChannelStateChangeUpdate (const FChaosVDChannelStateChangeResponseMessage &InNewStateData)
 
FChaosVDRecordingStateChangeDelegateOnSessionRecordingStarted ()
 
FChaosVDRecordingStateChangeDelegateOnSessionRecordingStopped ()
 
 DECLARE_MULTICAST_DELEGATE_TwoParams (FMessagingInitialized, TSharedPtr< IMessageBus > NewMessageBus, TSharedPtr< FMessageEndpoint > NewEndpoint)
 
FMessagingInitializedOnMessagingInitialized ()
 
TWeakPtr< IMessageBusGetMessageBusInstance ()
 
TWeakPtr< FMessageEndpointGetMessageBusEndPoint ()
 
CHAOSSOLVERENGINE_API void RegisterExternalSupportedMessageType (const UScriptStruct *ScriptStruct)
 

Static Public Member Functions

static CHAOSSOLVERENGINE_API constexpr bool IsController ()
 

Static Public Attributes

static CHAOSSOLVERENGINE_API const FString AllRemoteSessionsTargetName = TEXT("All Remote")
 
static CHAOSSOLVERENGINE_API const FString AllRemoteServersTargetName = TEXT("All Remote Servers")
 
static CHAOSSOLVERENGINE_API const FString AllRemoteClientsTargetName = TEXT("All Remote Clients")
 
static CHAOSSOLVERENGINE_API const FString AllSessionsTargetName = TEXT("All Sessions")
 
static CHAOSSOLVERENGINE_API const FString CustomSessionsTargetName = TEXT("Custom Selection")
 
static CHAOSSOLVERENGINE_API const FString LocalEditorSessionName = TEXT("Local Editor")
 
static CHAOSSOLVERENGINE_API const FName MessageBusEndPointName = FName("CVDSessionManagerEndPoint")
 
static CHAOSSOLVERENGINE_API const FGuid AllRemoteSessionsWrapperGUID = FGuid::NewGuid()
 
static CHAOSSOLVERENGINE_API const FGuid AllRemoteServersWrapperGUID = FGuid::NewGuid()
 
static CHAOSSOLVERENGINE_API const FGuid AllRemoteClientsWrapperGUID = FGuid::NewGuid()
 
static CHAOSSOLVERENGINE_API const FGuid AllSessionsWrapperGUID = FGuid::NewGuid()
 
static CHAOSSOLVERENGINE_API const FGuid CustomSessionsWrapperGUID = FGuid::NewGuid()
 
static CHAOSSOLVERENGINE_API const FGuid InvalidSessionGUID = FGuid()
 
static CHAOSSOLVERENGINE_API const FGuid LocalEditorSessionID = IsController() ? FApp::GetInstanceId() : InvalidSessionGUID
 
static CHAOSSOLVERENGINE_API const FGuid LocalSessionID = FApp::GetInstanceId()
 

Detailed Description

Object that is able to discover, issue and execute commands back and forth between CVD and client/server/editor instances

Member Typedef Documentation

◆ FVisitorFunction

Constructor & Destructor Documentation

◆ FChaosVDRemoteSessionsManager()

FChaosVDRemoteSessionsManager::FChaosVDRemoteSessionsManager ( )

Member Function Documentation

◆ DECLARE_MULTICAST_DELEGATE_TwoParams()

FChaosVDRemoteSessionsManager::DECLARE_MULTICAST_DELEGATE_TwoParams ( FMessagingInitialized  ,
TSharedPtr< IMessageBus NewMessageBus,
TSharedPtr< FMessageEndpoint NewEndpoint 
)

◆ EnumerateActiveSessions()

template<typename CallbackType >
void FChaosVDRemoteSessionsManager::EnumerateActiveSessions ( const CallbackType Callback)
inline

Iterates through all active and valid cvd sessions, and executes the provided callback to it. if the callbacks returns false, the iteration will stop

◆ EnumerateMessageTypes()

void FChaosVDRemoteSessionsManager::EnumerateMessageTypes ( const FVisitorFunction InVisitor)

Enumerate messages types allowed by this module.

Parameters
InVisitor

◆ GetMessageBusEndPoint()

TWeakPtr< FMessageEndpoint > FChaosVDRemoteSessionsManager::GetMessageBusEndPoint ( )
inline

◆ GetMessageBusInstance()

TWeakPtr< IMessageBus > FChaosVDRemoteSessionsManager::GetMessageBusInstance ( )
inline

◆ GetSessionInfo()

TWeakPtr< FChaosVDSessionInfo > FChaosVDRemoteSessionsManager::GetSessionInfo ( FGuid  Id)

Returns the session info object for the provided ID

Parameters
IdCVD SessionID

◆ Initialize() [1/2]

void FChaosVDRemoteSessionsManager::Initialize ( )

◆ Initialize() [2/2]

void FChaosVDRemoteSessionsManager::Initialize ( const TSharedPtr< IMessageBus > &  InMessageBus)

◆ IsController()

constexpr bool FChaosVDRemoteSessionsManager::IsController ( )
staticconstexpr

Returns true if this instance has controller capabilities (is either an editor or CVD Standalone, which is also an editor)

◆ OnMessagingInitialized()

FMessagingInitialized & FChaosVDRemoteSessionsManager::OnMessagingInitialized ( )
inline

◆ OnSessionDiscovered()

FChaosVDSessionDiscoverDelegate & FChaosVDRemoteSessionsManager::OnSessionDiscovered ( )
inline

◆ OnSessionExpired()

FChaosVDSessionDiscoverDelegate & FChaosVDRemoteSessionsManager::OnSessionExpired ( )
inline

◆ OnSessionRecordingStarted()

FChaosVDRecordingStateChangeDelegate & FChaosVDRemoteSessionsManager::OnSessionRecordingStarted ( )
inline

Delegate that broadcast when a recording was started in a session (either local or remote)

◆ OnSessionRecordingStopped()

FChaosVDRecordingStateChangeDelegate & FChaosVDRemoteSessionsManager::OnSessionRecordingStopped ( )
inline

Delegate that broadcast when a recording stops in a session (either local or remote)

◆ OnSessionsUpdated()

FSimpleMulticastDelegate & FChaosVDRemoteSessionsManager::OnSessionsUpdated ( )
inline

◆ PublishDataChannelStateChangeUpdate()

void FChaosVDRemoteSessionsManager::PublishDataChannelStateChangeUpdate ( const FChaosVDChannelStateChangeResponseMessage InNewStateData)

Broadcast to the network a data channel state update

Parameters
InNewStateDatalatest data channel state of the issuing instance

◆ PublishRecordingStatusUpdate()

void FChaosVDRemoteSessionsManager::PublishRecordingStatusUpdate ( const FChaosVDRecordingStatusMessage InUpdateMessage)

Broadcast to the network a recording state update

Parameters
InUpdateMessagelatest recording state of the issuing instance

◆ PublishTraceConnectionDetailsUpdate()

void FChaosVDRemoteSessionsManager::PublishTraceConnectionDetailsUpdate ( const FChaosVDTraceConnectionDetailsMessage InUpdateMessage)

Broadcast to the network new trace connection details as they become available

Parameters
InUpdateMessagelatest connection details

◆ RegisterExternalSupportedMessageType()

void FChaosVDRemoteSessionsManager::RegisterExternalSupportedMessageType ( const UScriptStruct ScriptStruct)

Adds a message type to the list of supported message types for this session system.

Parameters
ScriptStructMessage type info

◆ ReInitializeMessagingSystem()

void FChaosVDRemoteSessionsManager::ReInitializeMessagingSystem ( const TSharedPtr< IMessageBus > &  InMessageBus)

◆ SendDataChannelStateChangeCommand()

void FChaosVDRemoteSessionsManager::SendDataChannelStateChangeCommand ( const FMessageAddress InDestinationAddress,
const FChaosVDChannelStateChangeCommandMessage InNewStateData 
)

Issues a command to the provided address to change the state of a data channel

Parameters
InDestinationAddressMessage bus address that will execute the command
InNewStateDataNew data channel state to apply in the receiving instance

◆ SendStartRecordingCommand()

void FChaosVDRemoteSessionsManager::SendStartRecordingCommand ( const FMessageAddress InDestinationAddress,
const FChaosVDStartRecordingCommandMessage RecordingStartCommandParams 
)

Issues a command to the provided address that will start a CVD recording

Parameters
InDestinationAddressMessage bus address that will execute the command
RecordingStartCommandParamsDesired parameters to be used to start the recording

◆ SendStopRecordingCommand()

void FChaosVDRemoteSessionsManager::SendStopRecordingCommand ( const FMessageAddress InDestinationAddress)

Issues a command to the provided address to stop a CVD recording

Parameters
InDestinationAddressMessage bus address that will execute the command

◆ Shutdown()

void FChaosVDRemoteSessionsManager::Shutdown ( )

◆ StartSessionDiscovery()

void FChaosVDRemoteSessionsManager::StartSessionDiscovery ( )

Starts sending ping requests that potential targets (client, servers or other editors) can answer to and report themselves as available

◆ StopSessionDiscovery()

void FChaosVDRemoteSessionsManager::StopSessionDiscovery ( )

Stop sending ping requests to potential targets (client, servers or other editors).

Member Data Documentation

◆ AllRemoteClientsTargetName

const FString FChaosVDRemoteSessionsManager::AllRemoteClientsTargetName = TEXT("All Remote Clients")
static

◆ AllRemoteClientsWrapperGUID

const FGuid FChaosVDRemoteSessionsManager::AllRemoteClientsWrapperGUID = FGuid::NewGuid()
static

◆ AllRemoteServersTargetName

const FString FChaosVDRemoteSessionsManager::AllRemoteServersTargetName = TEXT("All Remote Servers")
static

◆ AllRemoteServersWrapperGUID

const FGuid FChaosVDRemoteSessionsManager::AllRemoteServersWrapperGUID = FGuid::NewGuid()
static

◆ AllRemoteSessionsTargetName

const FString FChaosVDRemoteSessionsManager::AllRemoteSessionsTargetName = TEXT("All Remote")
static

◆ AllRemoteSessionsWrapperGUID

const FGuid FChaosVDRemoteSessionsManager::AllRemoteSessionsWrapperGUID = FGuid::NewGuid()
static

◆ AllSessionsTargetName

const FString FChaosVDRemoteSessionsManager::AllSessionsTargetName = TEXT("All Sessions")
static

◆ AllSessionsWrapperGUID

const FGuid FChaosVDRemoteSessionsManager::AllSessionsWrapperGUID = FGuid::NewGuid()
static

◆ CustomSessionsTargetName

const FString FChaosVDRemoteSessionsManager::CustomSessionsTargetName = TEXT("Custom Selection")
static

◆ CustomSessionsWrapperGUID

const FGuid FChaosVDRemoteSessionsManager::CustomSessionsWrapperGUID = FGuid::NewGuid()
static

◆ InvalidSessionGUID

const FGuid FChaosVDRemoteSessionsManager::InvalidSessionGUID = FGuid()
static

◆ LocalEditorSessionID

const FGuid FChaosVDRemoteSessionsManager::LocalEditorSessionID = IsController() ? FApp::GetInstanceId() : InvalidSessionGUID
static

◆ LocalEditorSessionName

const FString FChaosVDRemoteSessionsManager::LocalEditorSessionName = TEXT("Local Editor")
static

◆ LocalSessionID

const FGuid FChaosVDRemoteSessionsManager::LocalSessionID = FApp::GetInstanceId()
static

◆ MessageBusEndPointName

const FName FChaosVDRemoteSessionsManager::MessageBusEndPointName = FName("CVDSessionManagerEndPoint")
static

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