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

bool

 

AddVirtualSubject

(
    const FLiveLinkSubjectKey & Virtual...,
    TSubclassOf < ULiveLinkVirtualSubjec ...
)

Add a new virtual subject to the client

Public function

FGuid

 

AddVirtualSubjectSource

(
    FName SourceName
)

Add a new live link VirtualSubject source to the client

Public function

void

 

ClearAllSubjectsFrames_AnyThread()

Clear all subjects frames

Public function

void

 

ClearSubjectsFrames_AnyThread

(
    FLiveLinkSubjectName SubjectName
)

Clear the stored frames associated with the enabled subject

Public function

void

 

ClearSubjectsFrames_AnyThread

(
    const FLiveLinkSubjectKey & Subject...
)

Clear the stored frames associated with the 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 FQualifiedFrameTime & SceneTi...,
    TSubclassOf < ULiveLinkRole > Desire...,
    FLiveLinkSubjectFrameData & OutFram...
)

Evaluates a subject for a specific role at a scene time.

Public function

bool

 

EvaluateFrameAtWorldTime_AnyThread

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

Evaluates a subject for a specific role.

Public function

bool

 

EvaluateFrameFromSource_AnyThread

(
    const FLiveLinkSubjectKey & Subject...,
    TSubclassOf < ULiveLinkRole > Role,
    FLiveLinkSubjectFrameData & OutFram...
)

Return the evaluated subject from a specific source snapshot for a specific role.

Public function

void

 

ForceTick()

Performs an internal Tick() .

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

ULiveLinkSou ...

 

GetSourceSettings

(
    const FGuid & SourceKey
)

Get the Settings of this source.

Public function Const

FText

 

GetSourceType

(
    FGuid SourceGuid
)

Get the type of a source

Public function Const

TArray < FLiv ...

 

GetSubjectFrameTimes

(
    FLiveLinkSubjectName SubjectName
)

Get the time of all the frames for a source.

Use for debugging purposes.

Public function Const

TArray < FLiv ...

 

GetSubjectFrameTimes

(
    const FLiveLinkSubjectKey & Subject...
)

Get the time of all the frames for a specific source.

Use for debugging purposes.

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

UObject *...

 

GetSubjectSettings

(
    const FLiveLinkSubjectKey & Subject...
)

Get the Settings of this subject.

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

TArray < FGui ...

 

GetVirtualSources()

Get a list of all the VirtualSubjects sources

Public function Const

bool

 

HasSourceBeenAdded

(
    TSharedPtr < ILiveLinkSource > Sourc...
)

Is the source been added

Public function Const

bool

 

IsSubjectEnabled

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

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...

 

OnLiveLinkSubjectEvaluated()

Notify the debug interface when a subject has been evaluated.

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

FSimpleMulti...

 

OnLiveLinkTicked()

Notify when the LiveLinkClient has ticked.

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

void

 

RegisterForFrameDataReceived

(
    const FLiveLinkSubjectKey & InSubje...,
    const FOnLiveLinkSubjectStaticDataR...,
    const FOnLiveLinkSubjectFrameDataRe...,
    FDelegateHandle & OutStaticDataRece...,
    FDelegateHandle & OutFrameDataRecei...
)

Register for when a frame data was received.

Public function

bool

 

RegisterForSubjectFrames

(
    FLiveLinkSubjectName SubjectName,
    const FOnLiveLinkSubjectStaticDataA...,
    const FOnLiveLinkSubjectFrameDataAd...,
    FDelegateHandle & OutStaticDataAdde...,
    FDelegateHandle & OutFrameDataAdded...,
    TSubclassOf < ULiveLinkRole >& OutS...,
    FLiveLinkStaticDataStruct * Out...
)

Register for when a frame has been validated, added and ready to be used.

Public function

void

 

RemoveSource

(
    TSharedPtr < ILiveLinkSource > Sourc...
)

Remove the specified source from the live link client

Public function

void

 

RemoveSource

(
    FGuid SourceGuid
)

Remove the source specified by the source Id from the live link client

Public function

void

 

RemoveSubject_AnyThread

(
    const FLiveLinkSubjectKey & Subject...
)

Clear the subject from the specific source

Public function

void

 

RemoveVirtualSubject

(
    const FLiveLinkSubjectKey & Virtual...
)

Removes a virtual subject from the client

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

 

UnregisterForFrameDataReceived

(
    const FLiveLinkSubjectKey & InSubje...,
    FDelegateHandle InStaticDataReceive...,
    FDelegateHandle InFrameDataReceived...
)

Unregister delegate registered with RegisterForFrameDataReceived.

Public function

void

 

UnregisterSubjectFramesHandle

(
    FLiveLinkSubjectName SubjectName,
    FDelegateHandle StaticDataAddedHand...,
    FDelegateHandle FrameDataAddedHandl...
)

Unregister delegates registered with RegisterForSubjectFrames.

Constants

Deprecated Functions

Name Description

Public function Virtual

bool

 

EvaluateFrameAtSceneTime_AnyThread

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

ILiveLinkClient::EvaluateFrameAtSceneTime_AnyThread is deprecated. Please use ILiveLinkClient::EvaluateFrameAtSceneTime_AnyThread with a QualifiedFrameTime instead!

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