UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::Tick::FActiveSyncWorkHandle Struct Referencefinal

#include <TaskSyncManager.h>

Public Member Functions

 FActiveSyncWorkHandle ()=default
 
ENGINE_API ~FActiveSyncWorkHandle ()
 
 FActiveSyncWorkHandle (FActiveSyncWorkHandle &&)=default
 
FActiveSyncWorkHandleoperator= (FActiveSyncWorkHandle &&)=default
 
 FActiveSyncWorkHandle (const FActiveSyncWorkHandle &)=delete
 
FActiveSyncWorkHandleoperator= (const FActiveSyncWorkHandle &)=delete
 
ENGINE_API bool IsValid () const
 
ENGINE_API FTickFunctionGetDependencyTickFunction ()
 
ENGINE_API bool HasReservedWork () const
 
ENGINE_API bool HasRequestedWork () const
 
ENGINE_API bool HasWorkQueue () const
 
ENGINE_API bool ReserveFutureWork (ESyncWorkRepetition Repeat)
 
ENGINE_API bool RequestWork (FTickFunction *FunctionToExecute, ESyncWorkRepetition Repeat)
 
ENGINE_API bool QueueWorkFunction (FWorkFunction &&WorkFunction)
 
ENGINE_API bool SendQueuedWork (FGraphEventRef *TaskToExtend=nullptr)
 
ENGINE_API bool AbandonWork ()
 
ENGINE_API bool Reset ()
 

Friends

struct FActiveSyncPoint
 
class FTaskSyncManager
 

Detailed Description

Handle pointing to a FActiveSyncPoint that can be used to reserve or request work to execute as part of that sync point. These handles cannot be copied, but can be safely moved between threads and will cancel all reservations and requests on destruction.

Constructor & Destructor Documentation

◆ FActiveSyncWorkHandle() [1/3]

UE::Tick::FActiveSyncWorkHandle::FActiveSyncWorkHandle ( )
default

◆ ~FActiveSyncWorkHandle()

FActiveSyncWorkHandle::~FActiveSyncWorkHandle ( )

◆ FActiveSyncWorkHandle() [2/3]

UE::Tick::FActiveSyncWorkHandle::FActiveSyncWorkHandle ( FActiveSyncWorkHandle &&  )
default

◆ FActiveSyncWorkHandle() [3/3]

UE::Tick::FActiveSyncWorkHandle::FActiveSyncWorkHandle ( const FActiveSyncWorkHandle )
delete

Member Function Documentation

◆ AbandonWork()

bool FActiveSyncWorkHandle::AbandonWork ( )

Abandon any requested or reserved work and return to how it was at initial registration. This clears HasReserved/HasRequested, but does not invalidate the handle. Return true if there was any requested/reserved work to abandon.

◆ GetDependencyTickFunction()

FTickFunction * FActiveSyncWorkHandle::GetDependencyTickFunction ( )

Returns a raw pointer to the tick function that implements this handle which can be passed into AddPrerequisite. This is only valid to call on the game thread and should not be cached.

◆ HasRequestedWork()

bool FActiveSyncWorkHandle::HasRequestedWork ( ) const

True if this handle has been used to request work. This will still be true until work is abandoned

◆ HasReservedWork()

bool FActiveSyncWorkHandle::HasReservedWork ( ) const

True if this handle has been used to reserve work. This will still be true until work is abandoned

◆ HasWorkQueue()

bool FActiveSyncWorkHandle::HasWorkQueue ( ) const

True if this handle is associated with a work queue that can be added to

◆ IsValid()

bool FActiveSyncWorkHandle::IsValid ( ) const

True if this points to a real sync point

◆ operator=() [1/2]

FActiveSyncWorkHandle & UE::Tick::FActiveSyncWorkHandle::operator= ( const FActiveSyncWorkHandle )
delete

◆ operator=() [2/2]

FActiveSyncWorkHandle & UE::Tick::FActiveSyncWorkHandle::operator= ( FActiveSyncWorkHandle &&  )
default

◆ QueueWorkFunction()

bool FActiveSyncWorkHandle::QueueWorkFunction ( FWorkFunction &&  WorkFunction)

Adds an arbitrary work function to the queue of work to execute later, this will fail if work has already been requested or reserved

◆ RequestWork()

bool FActiveSyncWorkHandle::RequestWork ( FTickFunction FunctionToExecute,
ESyncWorkRepetition  Repeat 
)

Requests that a tick function be executed by the sync point, this fills any reservations and may trigger tasks. If EveryFrame is passed in, it will request the same function every frame until it is abandoned.

◆ ReserveFutureWork()

bool FActiveSyncWorkHandle::ReserveFutureWork ( ESyncWorkRepetition  Repeat)

Request to reserve work using this handle, which must be filled to complete the frame's tasks. If EveryFrame is passed in, it will reserve work at the start of every frame that must be requested or abandoned.

◆ Reset()

bool FActiveSyncWorkHandle::Reset ( )

Completely reset this handle, which will abandon work and prevent any future use. This returns true if it was valid before

◆ SendQueuedWork()

bool FActiveSyncWorkHandle::SendQueuedWork ( FGraphEventRef TaskToExtend = nullptr)

Sends any previously queued work to be executed as part of the sync point. Will call DontCompleteUntil on passed in TaskToExtend if valid

Friends And Related Symbol Documentation

◆ FActiveSyncPoint

◆ FTaskSyncManager

friend class FTaskSyncManager
friend

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