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

Public Member Functions

FORCEINLINE FTickContext SetupTickContext (FTickFunction *TickFunction, const FTickContext &TickContext)
 
FORCEINLINE void StartTickTask (const FGraphEventArray *Prerequisites, FTickFunction *TickFunction, const FTickContext &TickContext)
 
FORCEINLINE void AddTickTaskCompletion (ETickingGroup StartTickGroup, ETickingGroup EndTickGroup, FTickGraphTask *Task, bool bHiPri)
 
FORCEINLINE void AddTickTaskCompletionParallel (ETickingGroup StartTickGroup, ETickingGroup EndTickGroup, FTickGraphTask *Task, bool bHiPri)
 
FORCEINLINE bool ShouldConsiderPrerequisite (FTickFunction *TickFunction, FTickFunction *Prereq)
 
FORCEINLINE bool CanBatchCondition (FTickGroupCondition Condition)
 
void SetupBatchedTicks (int32 NumTicks)
 
void FinishBatchedTicks (const FTickContext &InContext)
 
void SetupAddTickTaskCompletionParallel (int32 NumTicks)
 
FTickBatchInfoQueueOrBatchTickTask (TArray< FTickFunction *, TInlineAllocator< 2 > > &Prerequisites, FTickFunction *TickFunction, const FTickContext &TickContext)
 
FORCEINLINE void QueueTickTask (const FGraphEventArray *Prerequisites, FTickFunction *TickFunction, const FTickContext &TickContext)
 
FORCEINLINE void QueueTickTaskParallel (const FGraphEventArray *Prerequisites, FTickFunction *TickFunction, const FTickContext &TickContext)
 
void VerifyManualDispatch (ETickingGroup WorldTickGroup)
 
void ReleaseTickGroup (ETickingGroup WorldTickGroup, bool bBlockTillComplete, TArray< FTickFunction * > &TicksToManualDispatch)
 
void StartFrame ()
 
void EndFrame ()
 

Static Public Member Functions

static FTickTaskSequencerGet ()
 
static bool SingleThreadedMode ()
 
static FORCEINLINE FTickGraphTaskGetGraphTask (const FTickFunction *TickFunction)
 
static FORCEINLINE bool HasBeenVisited (const FTickFunction *TickFunction, uint32 CurrentFrameCounter)
 

Detailed Description

Class that handles the actual tick tasks and starting and completing tick groups

Member Function Documentation

◆ AddTickTaskCompletion()

FORCEINLINE void FTickTaskSequencer::AddTickTaskCompletion ( ETickingGroup  StartTickGroup,
ETickingGroup  EndTickGroup,
FTickGraphTask Task,
bool  bHiPri 
)
inline

Add a completion handle to a tick group

◆ AddTickTaskCompletionParallel()

FORCEINLINE void FTickTaskSequencer::AddTickTaskCompletionParallel ( ETickingGroup  StartTickGroup,
ETickingGroup  EndTickGroup,
FTickGraphTask Task,
bool  bHiPri 
)
inline

Add a completion handle to a tick group, parallel version

◆ CanBatchCondition()

FORCEINLINE bool FTickTaskSequencer::CanBatchCondition ( FTickGroupCondition  Condition)
inline

Return true if this tick condition is safe to batch

◆ EndFrame()

void FTickTaskSequencer::EndFrame ( )
inline

Checks that everything is clean at the end of a frame

◆ FinishBatchedTicks()

void FTickTaskSequencer::FinishBatchedTicks ( const FTickContext InContext)
inline

Finished batching ticks for the frame

◆ Get()

static FTickTaskSequencer & FTickTaskSequencer::Get ( )
inlinestatic

Retrieve the global tick task sequencer shared for all ticks

◆ GetGraphTask()

static FORCEINLINE FTickGraphTask * FTickTaskSequencer::GetGraphTask ( const FTickFunction TickFunction)
inlinestatic

Accessor that will return a valid task pointer or null if not actually scheduled

◆ HasBeenVisited()

static FORCEINLINE bool FTickTaskSequencer::HasBeenVisited ( const FTickFunction TickFunction,
uint32  CurrentFrameCounter 
)
inlinestatic

Non-threadsafe accessor for checking if this has been visited for queuing this frame, only valid on registered functiosn

◆ QueueOrBatchTickTask()

FTickBatchInfo * FTickTaskSequencer::QueueOrBatchTickTask ( TArray< FTickFunction *, TInlineAllocator< 2 > > &  Prerequisites,
FTickFunction TickFunction,
const FTickContext TickContext 
)
inline

This will add to an existing batch, create a new batch, or just spawn a single task and return null

◆ QueueTickTask()

FORCEINLINE void FTickTaskSequencer::QueueTickTask ( const FGraphEventArray Prerequisites,
FTickFunction TickFunction,
const FTickContext TickContext 
)
inline

Start a tick task and add the completion handle

Parameters
InPrerequisites- prerequisites that must be completed before this tick can begin
TickFunction- the tick function to queue
Context- tick context to tick in. Thread here is the current thread.

◆ QueueTickTaskParallel()

FORCEINLINE void FTickTaskSequencer::QueueTickTaskParallel ( const FGraphEventArray Prerequisites,
FTickFunction TickFunction,
const FTickContext TickContext 
)
inline

Start a tick task and add the completion handle, for parallel queuing

Parameters
InPrerequisites- prerequisites that must be completed before this tick can begin
TickFunction- the tick function to queue
Context- tick context to tick in. Thread here is the current thread.

◆ ReleaseTickGroup()

void FTickTaskSequencer::ReleaseTickGroup ( ETickingGroup  WorldTickGroup,
bool  bBlockTillComplete,
TArray< FTickFunction * > &  TicksToManualDispatch 
)
inline

Release the queued ticks for a given tick group and process them.

Parameters
WorldTickGroup- tick group to release
bBlockTillComplete- if true, do not return until all ticks are complete
TickFunctionsToManualDispatch- dispatch any manual tick functions in this lister after the normal ones

◆ SetupAddTickTaskCompletionParallel()

void FTickTaskSequencer::SetupAddTickTaskCompletionParallel ( int32  NumTicks)
inline

Set up the lists for AddTickTaskCompletionParallel, since we are using AddThreadsafe, we need to presize the arrays

◆ SetupBatchedTicks()

void FTickTaskSequencer::SetupBatchedTicks ( int32  NumTicks)
inline

Call before doing any batched ticks

◆ SetupTickContext()

FORCEINLINE FTickContext FTickTaskSequencer::SetupTickContext ( FTickFunction TickFunction,
const FTickContext TickContext 
)
inline

Sets up TickContext for a tick function that will possibly tick

◆ ShouldConsiderPrerequisite()

FORCEINLINE bool FTickTaskSequencer::ShouldConsiderPrerequisite ( FTickFunction TickFunction,
FTickFunction Prereq 
)
inline

Return true if this prerequisite should be tracked in the event graph

◆ SingleThreadedMode()

static bool FTickTaskSequencer::SingleThreadedMode ( )
inlinestatic

Return true if we should be running in single threaded mode, ala dedicated server

◆ StartFrame()

void FTickTaskSequencer::StartFrame ( )
inline

Resets the internal state of the object at the start of a frame

◆ StartTickTask()

FORCEINLINE void FTickTaskSequencer::StartTickTask ( const FGraphEventArray Prerequisites,
FTickFunction TickFunction,
const FTickContext TickContext 
)
inline

Start a task for a single function

Parameters
InPrerequisites- prerequisites that must be completed before this tick can begin
TickFunction- the tick function to queue
Context- tick context to tick in, that has been setup by SetupTickContext

◆ VerifyManualDispatch()

void FTickTaskSequencer::VerifyManualDispatch ( ETickingGroup  WorldTickGroup)
inline

Make sure all manual tick dispatches have happened to avoid deadlocks


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