ILiveLinkClient

Interface for streaming and consuming data from external sources into UE4.

Windows
MacOS
Linux

Inheritance Hierarchy

ILiveLinkClient_Base_DEPRECATED

ILiveLinkClient

FLiveLinkClient_Base_DEPRECATED

FLiveLinkClient

References

Module

LiveLinkInterface

Header

/Engine/Source/Runtime/LiveLinkInterface/Public/ILiveLinkClient.h

Include

#include "ILiveLinkClient.h"

Syntax

class ILiveLinkClient : public ILiveLinkClient_Base_DEPRECATED

Remarks

Interface for streaming and consuming data from external sources into UE4. A LiveLinkSource, may stream multiple LiveLinkSubject. Pushing and evaluating data can be executed on any thread. The other functions must be executed on the Game Thread. Subject may shared name between sources, but only 1 of those subjects may be enabled.

Destructors

Name Description

Public function Virtual

~ILiveLinkClient()

Functions

Name Description

Public function

FGuid

 

AddSource

(
    TSharedPtr< ILiveLinkSource > Sourc...
)

Add a new live link source to the client

Public function

void

 

ClearAllSubjectsFrames_AnyThread()

Clear all subjects frames

Public function

void

 

ClearSubjectsFrames_AnyThread

(
    const FLiveLinkSubjectKey& Subject...
)

Clear the stored frames associated with the subject

Public function

void

 

ClearSubjectsFrames_AnyThread

(
    FLiveLinkSubjectName SubjectName
)

Clear the stored frames associated with the enabled subject

Public function

bool

 

CreateSource

(
    const FLiveLinkSourcePreset& Sourc...
)

Create from the factory a new live link source and add it to the client.

Public function

bool

 

CreateSubject

(
    const FLiveLinkSubjectPreset& Subj...
)

Create and add a new live link subject to the client

Public function Const

bool

 

DoesSubjectSupportsRole

(
    const FLiveLinkSubjectKey& Subject...,
    TSubclassOf< ULiveLinkRole > Suppor...
)

Whether a subject support a particular role, either directly or through a translator

Public function

bool

 

EvaluateFrame_AnyThread

(
    FLiveLinkSubjectName SubjectName,
    TSubclassOf< ULiveLinkRole > Role,
    FLiveLinkSubjectFrameData& OutFram...
)

Return the evaluated subject snapshot for a specific role.

Public function

bool

 

EvaluateFrameAtSceneTime_AnyThread

(
    FLiveLinkSubjectName SubjectName,
    const FTimecode& SceneTime,
    TSubclassOf< ULiveLinkRole > Desire...,
    FLiveLinkSubjectFrameData& OutFram...
)

Evaluates a subject for a specific role at a Timecode.

Public function

bool

 

EvaluateFrameAtWorldTime_AnyThread

(
    FLiveLinkSubjectName SubjectName,
    double WorldTime,
    TSubclassOf< ULiveLinkRole > Desire...,
    FLiveLinkSubjectFrameData& OutFram...
)

Evaluates a subject for a specific role.

Public function Const

FLiveLinkSou...

 

GetSourcePreset

(
    FGuid SourceGuid,
    UObject* DuplicatedObjectOuter
)

Get the source preset from the live link client.

Public function Const

TArray< FGui...

 

GetSources()

Get a list of all the sources

Public function Const

FText

 

GetSourceType

(
    FGuid SourceGuid
)

Get the type of a source

Public function Const

FLiveLinkSub...

 

GetSubjectPreset

(
    const FLiveLinkSubjectKey& Subject...,
    UObject* DuplicatedObjectOuter
)

Get the subject preset from the live link client.

Public function Const

TSubclassOf<...

 

GetSubjectRole

(
    FLiveLinkSubjectName SubjectName
)

Get the role of the subject with this name

Public function Const

TSubclassOf<...

 

GetSubjectRole

(
    const FLiveLinkSubjectKey& Subject...
)

Get the role of a subject from a specific source

Public function Const

TArray< FLiv...

 

GetSubjects

(
    bool bIncludeDisabledSubject,
    bool bIncludeVirtualSubject
)

Get a list of all subjects

Public function Const

TArray< FLiv...

 

GetSubjectsSupportingRole

(
    TSubclassOf< ULiveLinkRole > Suppor...,
    bool bIncludeDisabledSubject,
    bool bIncludeVirtualSubject
)

Get a list of name of subjects supporting a certain role

Public function Const

bool

 

HasSourceBeenAdded

(
    TSharedPtr< ILiveLinkSource > Sourc...
)

Is the source been added

Public function Const

bool

 

IsSubjectEnabled

(
    const FLiveLinkSubjectKey& Subject...,
    bool bUseSnaphot
)

Whether or not a subject from the specific source is the enabled subject.

Public function Const

bool

 

IsSubjectEnabled

(
    FLiveLinkSubjectName SubjectName
)

Whether or not the client has a subject with this name enabled Only 1 subject with the same name can be enabled.

Public function Const

bool

 

IsSubjectTimeSynchronized

(
    FLiveLinkSubjectName SubjectName
)

Whether or not the subject's data is time synchronized or not

Public function Const

bool

 

IsSubjectTimeSynchronized

(
    const FLiveLinkSubjectKey& Subject...
)

Whether or not the subject's data, from a specific source, is time synchronized or not

Public function Const

bool

 

IsSubjectValid

(
    FLiveLinkSubjectName SubjectName
)

Whether or not the client has a subject with this name that is valid and has valid snapshot data

Public function Const

bool

 

IsSubjectValid

(
    const FLiveLinkSubjectKey& Subject...
)

Whether or not a subject from a specific source is valid and has valid snapshot data

Public function

FOnLiveLinkS...

 

OnLiveLinkSourceAdded()

Notify when a new source has been added

Public function

FOnLiveLinkS...

 

OnLiveLinkSourceRemoved()

Notify when a source has been removed

Public function

FSimpleMulti...

 

OnLiveLinkSourcesChanged()

Notify when the list of sources has changed.

Public function

FOnLiveLinkS...

 

OnLiveLinkSubjectAdded()

Notify when a new subject has been added

Public function

FOnLiveLinkS...

 

OnLiveLinkSubjectRemoved()

Notify when a subject has been removed

Public function

FSimpleMulti...

 

OnLiveLinkSubjectsChanged()

Notify when the list of subject has changed.

Public function

void

 

PushSubjectFrameData_AnyThread

(
    const FLiveLinkSubjectKey& Subject...,
    FLiveLinkFrameDataStruct&& FrameDa...
)

Push frame data for a specific subject for a certain role

Public function

void

 

PushSubjectStaticData_AnyThread

(
    const FLiveLinkSubjectKey& Subject...,
    TSubclassOf< ULiveLinkRole > Role,
    FLiveLinkStaticDataStruct&& Static...
)

Push static data for a specific subject for a certain role. This will clear all buffered frames

Public function

bool

 

RegisterForSubjectFrames

(
    FLiveLinkSubjectName SubjectName,
    const FOnLiveLinkSubjectStaticDataR...,
    const FOnLiveLinkSubjectFrameDataRe...,
    FDelegateHandle& OutStaticDataRece...,
    FDelegateHandle& OutFrameDataRecei...,
    TSubclassOf< ULiveLinkRole >& OutS...,
    FLiveLinkStaticDataStruct* Out...
)

Register for when a frame has been received for a subject

Public function

void

 

RemoveSource

(
    TSharedPtr< ILiveLinkSource > Sourc...
)

Remove the specified source from the live link client

Public function

void

 

RemoveSubject_AnyThread

(
    const FLiveLinkSubjectKey& Subject...
)

Clear the subject from the specific source

Public function

void

 

SetSubjectEnabled

(
    const FLiveLinkSubjectKey& Subject...,
    bool bEnabled
)

Set the subject's from a specific source to enabled, disabling the other in the process.

Public function

void

 

UnregisterSubjectFramesHandle

(
    FLiveLinkSubjectName SubjectName,
    FDelegateHandle StaticDataReceivedH...,
    FDelegateHandle FrameDataReceivedHa...
)

Constants

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