UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::Tasks Namespace Reference

Namespaces

namespace  Private
 
namespace  TaskConcurrencyLimiter_Private
 

Classes

class  FCancellationToken
 
class  FCancellationTokenScope
 
class  FPipe
 
class  FPipeCallStack
 
class  FTaskConcurrencyLimiter
 
class  FTaskEvent
 
class  FTaskPriorityCVar
 
class  TTask
 
class  TTask< void >
 

Typedefs

using FTask = Private::FTaskHandle
 

Enumerations

enum class  EExtendedTaskPriority : int8 {
  None , Inline , TaskEvent , GameThreadNormalPri ,
  GameThreadHiPri , GameThreadNormalPriLocalQueue , GameThreadHiPriLocalQueue , RenderThreadNormalPri ,
  RenderThreadHiPri , RenderThreadNormalPriLocalQueue , RenderThreadHiPriLocalQueue , RHIThreadNormalPri ,
  RHIThreadHiPri , RHIThreadNormalPriLocalQueue , RHIThreadHiPriLocalQueue , Count
}
 
enum class  ETaskFlags { None , DoNotRunInsideBusyWait }
 

Functions

const TCHARToString (EExtendedTaskPriority ExtendedPriority)
 
bool ToExtendedTaskPriority (const TCHAR *ExtendedPriorityStr, EExtendedTaskPriority &OutExtendedPriority)
 
template<typename TaskCollectionType >
bool Wait (const TaskCollectionType &Tasks, FTimespan InTimeout=FTimespan::MaxValue())
 
template<typename TaskType >
void AddNested (const TaskType &Nested)
 
template<typename TaskBodyType >
TTask< TInvokeResult_T< TaskBodyType > > Launch (const TCHAR *DebugName, TaskBodyType &&TaskBody, ETaskPriority Priority=ETaskPriority::Normal, EExtendedTaskPriority ExtendedPriority=EExtendedTaskPriority::None, ETaskFlags Flags=ETaskFlags::None)
 
template<typename TaskBodyType , typename PrerequisitesCollectionType >
TTask< TInvokeResult_T< TaskBodyType > > Launch (const TCHAR *DebugName, TaskBodyType &&TaskBody, PrerequisitesCollectionType &&Prerequisites, ETaskPriority Priority=ETaskPriority::Normal, EExtendedTaskPriority ExtendedPriority=EExtendedTaskPriority::None, ETaskFlags Flags=ETaskFlags::None)
 
void Wait (Private::FTaskHandle &Task)
 
template<typename... TaskTypes, typename std::decay_t< decltype(std::declval< TTuple< TaskTypes... > >().template Get< 0 >())>::FTaskHandleId * = nullptr>
TStaticArray< Private::FTaskBase *, sizeof...(TaskTypes)> Prerequisites (TaskTypes &... Tasks)
 
template<typename TaskCollectionType >
const TaskCollectionTypePrerequisites (const TaskCollectionType &Tasks)
 
template<typename TaskCollectionType >
int32 WaitAny (const TaskCollectionType &Tasks, FTimespan Timeout=FTimespan::MaxValue())
 
template<typename TaskCollectionType >
FTask Any (const TaskCollectionType &Tasks)
 
template<typename ResultType , typename... ArgTypes>
TTask< ResultType > MakeCompletedTask (ArgTypes &&... Args)
 

Typedef Documentation

◆ FTask

Enumeration Type Documentation

◆ EExtendedTaskPriority

Enumerator
None 
Inline 
TaskEvent 
GameThreadNormalPri 
GameThreadHiPri 
GameThreadNormalPriLocalQueue 
GameThreadHiPriLocalQueue 
RenderThreadNormalPri 
RenderThreadHiPri 
RenderThreadNormalPriLocalQueue 
RenderThreadHiPriLocalQueue 
RHIThreadNormalPri 
RHIThreadHiPri 
RHIThreadNormalPriLocalQueue 
RHIThreadHiPriLocalQueue 
Count 

◆ ETaskFlags

Enumerator
None 
DoNotRunInsideBusyWait 

Function Documentation

◆ AddNested()

template<typename TaskType >
void UE::Tasks::AddNested ( const TaskType &  Nested)

◆ Any()

FTask UE::Tasks::Any ( const TaskCollectionType Tasks)

◆ Launch() [1/2]

template<typename TaskBodyType >
TTask< TInvokeResult_T< TaskBodyType > > UE::Tasks::Launch ( const TCHAR DebugName,
TaskBodyType &&  TaskBody,
ETaskPriority  Priority = ETaskPriority::Normal,
EExtendedTaskPriority  ExtendedPriority = EExtendedTaskPriority::None,
ETaskFlags  Flags = ETaskFlags::None 
)

◆ Launch() [2/2]

TTask< TInvokeResult_T< TaskBodyType > > UE::Tasks::Launch ( const TCHAR DebugName,
TaskBodyType &&  TaskBody,
PrerequisitesCollectionType &&  Prerequisites,
ETaskPriority  Priority = ETaskPriority::Normal,
EExtendedTaskPriority  ExtendedPriority = EExtendedTaskPriority::None,
ETaskFlags  Flags = ETaskFlags::None 
)

◆ MakeCompletedTask()

template<typename ResultType , typename... ArgTypes>
TTask< ResultType > UE::Tasks::MakeCompletedTask ( ArgTypes &&...  Args)

◆ Prerequisites() [1/2]

const TaskCollectionType & UE::Tasks::Prerequisites ( const TaskCollectionType Tasks)

◆ Prerequisites() [2/2]

template<typename... TaskTypes, typename std::decay_t< decltype(std::declval< TTuple< TaskTypes... > >().template Get< 0 >())>::FTaskHandleId * = nullptr>
TStaticArray< Private::FTaskBase *, sizeof...(TaskTypes)> UE::Tasks::Prerequisites ( TaskTypes &...  Tasks)

◆ ToExtendedTaskPriority()

bool UE::Tasks::ToExtendedTaskPriority ( const TCHAR ExtendedPriorityStr,
EExtendedTaskPriority OutExtendedPriority 
)

◆ ToString()

const TCHAR * UE::Tasks::ToString ( EExtendedTaskPriority  ExtendedPriority)

◆ Wait() [1/2]

bool UE::Tasks::Wait ( const TaskCollectionType Tasks,
FTimespan  InTimeout = FTimespan::MaxValue() 
)

◆ Wait() [2/2]

void UE::Tasks::Wait ( Private::FTaskHandle Task)
inline

◆ WaitAny()

int32 UE::Tasks::WaitAny ( const TaskCollectionType Tasks,
FTimespan  Timeout = FTimespan::MaxValue() 
)