UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ParticleSystemManager.cpp File Reference

Classes

class  FParticleManagerFinalizeTask
 
class  FParticleManagerAsyncTask
 

Namespaces

namespace  ParticleSystemWorldManagerInternal
 

Functions

 DECLARE_STATS_GROUP (TEXT("Particle World Manager"), STATGROUP_PSCWorldMan, STATCAT_Advanced)
 
 DECLARE_CYCLE_STAT (TEXT("PSC Manager Tick [GT]"), STAT_PSCMan_Tick, STATGROUP_PSCWorldMan)
 
 DECLARE_CYCLE_STAT (TEXT("PSC Manager Async Batch [CNC]"), STAT_PSCMan_AsyncBatch, STATGROUP_PSCWorldMan)
 
 DECLARE_CYCLE_STAT (TEXT("PSC Manager Finalize Batch [GT]"), STAT_PSCMan_FinalizeBatch, STATGROUP_PSCWorldMan)
 

Variables

int32 GbEnablePSCWorldManager = 1
 
FAutoConsoleVariableRef CVarEnablePSCWorldManager (TEXT("fx.PSCMan.Enable"), GbEnablePSCWorldManager, TEXT("If PSC world manager is enabled."), ECVF_Scalability)
 
int32 GParticleManagerAsyncBatchSize = INITIAL_PSC_MANAGER_ASYNC_BATCH_SIZE
 
FAutoConsoleVariableRef CVarParticleManagerAsyncBatchSize (TEXT("fx.ParticleManagerAsyncBatchSize"), GParticleManagerAsyncBatchSize, TEXT("How many PSCs the ParticleWorldManager should tick per async task."), ECVF_Scalability)
 
FAutoConsoleTaskPriority CPrio_ParticleManagerAsyncTask (TEXT("TaskGraph.TaskPriorities.ParticleManagerAsyncTask"), TEXT("Task and thread priority for FParticleManagerAsyncTask."), ENamedThreads::HighThreadPriority, ENamedThreads::NormalTaskPriority, ENamedThreads::HighTaskPriority)
 
FAutoConsoleCommandWithWorld GDumpPSCManStateCommand (TEXT("fx.PSCMan.Dump"), TEXT("Dumps state information for all current Particle System Managers."), FConsoleCommandWithWorldDelegate::CreateStatic([](UWorld *World) { if(FParticleSystemWorldManager *PSCMan=FParticleSystemWorldManager::Get(World)) { PSCMan->Dump();} }))
 

Function Documentation

◆ DECLARE_CYCLE_STAT() [1/3]

DECLARE_CYCLE_STAT ( TEXT("PSC Manager Async Batch [CNC]")  ,
STAT_PSCMan_AsyncBatch  ,
STATGROUP_PSCWorldMan   
)

◆ DECLARE_CYCLE_STAT() [2/3]

DECLARE_CYCLE_STAT ( TEXT("PSC Manager Finalize Batch [GT]")  ,
STAT_PSCMan_FinalizeBatch  ,
STATGROUP_PSCWorldMan   
)

◆ DECLARE_CYCLE_STAT() [3/3]

DECLARE_CYCLE_STAT ( TEXT("PSC Manager Tick [GT]")  ,
STAT_PSCMan_Tick  ,
STATGROUP_PSCWorldMan   
)

◆ DECLARE_STATS_GROUP()

DECLARE_STATS_GROUP ( TEXT("Particle World Manager" ,
STATGROUP_PSCWorldMan  ,
STATCAT_Advanced   
)

Variable Documentation

◆ CPrio_ParticleManagerAsyncTask

FAutoConsoleTaskPriority CPrio_ParticleManagerAsyncTask(TEXT("TaskGraph.TaskPriorities.ParticleManagerAsyncTask"), TEXT("Task and thread priority for FParticleManagerAsyncTask."), ENamedThreads::HighThreadPriority, ENamedThreads::NormalTaskPriority, ENamedThreads::HighTaskPriority) ( TEXT("TaskGraph.TaskPriorities.ParticleManagerAsyncTask")  ,
TEXT("Task and thread priority for FParticleManagerAsyncTask." ,
ENamedThreads::HighThreadPriority  ,
ENamedThreads::NormalTaskPriority  ,
ENamedThreads::HighTaskPriority   
)

◆ CVarEnablePSCWorldManager

FAutoConsoleVariableRef CVarEnablePSCWorldManager(TEXT("fx.PSCMan.Enable"), GbEnablePSCWorldManager, TEXT("If PSC world manager is enabled."), ECVF_Scalability) ( TEXT("fx.PSCMan.Enable")  ,
GbEnablePSCWorldManager  ,
TEXT("If PSC world manager is enabled." ,
ECVF_Scalability   
)

◆ CVarParticleManagerAsyncBatchSize

FAutoConsoleVariableRef CVarParticleManagerAsyncBatchSize(TEXT("fx.ParticleManagerAsyncBatchSize"), GParticleManagerAsyncBatchSize, TEXT("How many PSCs the ParticleWorldManager should tick per async task."), ECVF_Scalability) ( TEXT("fx.ParticleManagerAsyncBatchSize")  ,
GParticleManagerAsyncBatchSize  ,
TEXT("How many PSCs the ParticleWorldManager should tick per async task." ,
ECVF_Scalability   
)

◆ GbEnablePSCWorldManager

int32 GbEnablePSCWorldManager = 1

◆ GDumpPSCManStateCommand

FAutoConsoleCommandWithWorld GDumpPSCManStateCommand(TEXT("fx.PSCMan.Dump"), TEXT("Dumps state information for all current Particle System Managers."), FConsoleCommandWithWorldDelegate::CreateStatic([](UWorld *World) { if(FParticleSystemWorldManager *PSCMan=FParticleSystemWorldManager::Get(World)) { PSCMan->Dump(); } })) ( TEXT("fx.PSCMan.Dump")  ,
TEXT("Dumps state information for all current Particle System Managers." ,
FConsoleCommandWithWorldDelegate::CreateStatic([](UWorld *World){ if(FParticleSystemWorldManager *PSCMan=FParticleSystemWorldManager::Get(World)) { PSCMan->Dump();}})   
)

◆ GParticleManagerAsyncBatchSize

int32 GParticleManagerAsyncBatchSize = INITIAL_PSC_MANAGER_ASYNC_BATCH_SIZE