Navigation
API > API/Plugins > API/Plugins/CustomizableObject > API/Plugins/CustomizableObject/MuCO
References
| Module | CustomizableObject |
| Header | /Engine/Plugins/Experimental/Mutable/Source/CustomizableObject/Public/MuCO/FMutableTaskGraph.h |
| Include | #include "MuCO/FMutableTaskGraph.h" |
Syntax
class FMutableTaskGraph
Remarks
Mutable Tasks System.
Allows launching tasks in different threads:
- Mutable Thread
- Game Thread (code currently in UCustomizableObjectSystem)
- Any Thread
Concurrency between tasks in the Mutable Thread is forbidden by chaining all tasks through their prerequisites.
LOW PRIORITY MUTABLE TASKS:
- Only one Low Priority task can be launched at the same time. This is because once a Task Graph task is launched, it can not be canceled. To allow canceling them, the system holds them until it can ensure that its execution will be imminent (no other tasks running).
- A Low Priority task will not be launched if one of the follow conditions is true (in order):
There is a task Low Priority task running.
Flag bLaunchMutableTaskLowPriority is false.
There is a Normal Priority task running (unless time limit).
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | AddAnyThreadTask
(
const TCHAR* DebugName, |
Create and launch a task on Any Thread. | |
| TaskType | AddMutableThreadTask
(
const TCHAR* DebugName, |
Create and launch a task on the Mutable Thread with Normal priority. | |
| uint32 | AddMutableThreadTaskLowPriority
(
const TCHAR* DebugName, |
Create and launch a task on the Mutable Thread with Low priority. | |
| void | AllowLaunchingMutableTaskLowPriority
(
bool bAllow, |
Allow or disallow launching Mutable Tasks with Low priority. | |
| void | CancelMutableThreadTaskLowPriority
(
uint32 Id |
Cancel, if not already launched, a Mutable Thread with Low priority. | |
| void | Tick () |
||
| void | Wait for all Mutable Thread tasks. |
Typedefs
| Name | Description |
|---|---|
| TaskType |
Constants
| Name | Description |
|---|---|
| INVALID_ID |