Navigation
API > API/Plugins > API/Plugins/PCG
Scheduling Policies provide custom logic to efficiently schedule work for the Runtime Generation Scheduling system. A higher priority value means the work will be scheduled sooner, and larger grid sizes will always have a higher priority than lower grid sizes.
If multiple Generation Sources overlap a component, the highest priority value will be used for scheduling.
| Name | UPCGSchedulingPolicyBase |
| Type | class |
| Header File | /Engine/Plugins/PCG/Source/PCG/Public/RuntimeGen/SchedulingPolicies/PCGSchedulingPolicyBase.h |
| Include Path | #include "RuntimeGen/SchedulingPolicies/PCGSchedulingPolicyBase.h" |
Syntax
UCLASS (MinimalAPI, Abstract, BlueprintType, ClassGroup=(Procedural))
class UPCGSchedulingPolicyBase : public UObject
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UPCGSchedulingPolicyBase
Derived Classes
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| GridsDependentOnWorldStreaming | TArray< EPCGHiGenGrid > | Grids that depend on world streaming. | RuntimeGen/SchedulingPolicies/PCGSchedulingPolicyBase.h |
|
| GridStreamingDependencyMode | EPCGGridStreamingDependencyMode | Grids with a streaming dependency will only generate if the world within the generation volume is fully streamed. | RuntimeGen/SchedulingPolicies/PCGSchedulingPolicyBase.h |
|
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bShouldDisplayProperties | bool | Hidden property to control display of SchedulingPolicy properties. | RuntimeGen/SchedulingPolicies/PCGSchedulingPolicyBase.h |
|
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual double CalculatePriority
(
const IPCGGenSourceBase* InGenSource, |
Calculate the runtime scheduling priority with respect to a Generation Source. | RuntimeGen/SchedulingPolicies/PCGSchedulingPolicyBase.h | |
virtual bool CullsBasedOnDirection() |
Should return true if this policy select cells for generation based on generation source direction (for e.g. frustum culling), and false otherwise. | RuntimeGen/SchedulingPolicies/PCGSchedulingPolicyBase.h | |
bool DoesGridDependOnWorldStreaming
(
uint32 InGridSize |
RuntimeGen/SchedulingPolicies/PCGSchedulingPolicyBase.h | ||
virtual bool IsEquivalent
(
const UPCGSchedulingPolicyBase* OtherSchedulingPolicy |
A SchedulingPolicy is equivalent to another SchedulingPolicy if they are the same (same ptr), or if they have the same type and parameter values. | RuntimeGen/SchedulingPolicies/PCGSchedulingPolicyBase.h | |
void SetShouldDisplayProperties
(
bool bInShouldDisplayProperties |
Sets whether or not properties should be displayed in the editor.Used to hide instanced SchedulingPolicy properties when runtime generation is not enabled. | RuntimeGen/SchedulingPolicies/PCGSchedulingPolicyBase.h | |
virtual bool ShouldCull
(
const IPCGGenSourceBase* InGenSource, |
True if the generation source would cull the given bounds. | RuntimeGen/SchedulingPolicies/PCGSchedulingPolicyBase.h | |
virtual bool ShouldGenerate
(
const IPCGGenSourceBase* InGenSource, |
True if the generation source would consider the given bounds for generation. | RuntimeGen/SchedulingPolicies/PCGSchedulingPolicyBase.h |