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

Namespaces

namespace  FXConsoleVariables
 

Functions

bool IsParticleCollisionModeSupported (EShaderPlatform InPlatform, EParticleCollisionShaderMode InCollisionShaderMode)
 
FAutoConsoleVariableRef FXConsoleVariables::CVarAllowGPUSorting (TEXT("FX.AllowGPUSorting"), bAllowGPUSorting, TEXT("Allow particles to be sorted on the GPU."), ECVF_ReadOnly|ECVF_Preview)
 
 DECLARE_GPU_DRAWCALL_STAT (FXSystemPreInitViews)
 
 DECLARE_GPU_DRAWCALL_STAT (FXSystemPreRender)
 
 DECLARE_GPU_DRAWCALL_STAT (FXSystemPostRenderOpaque)
 

Variables

int32 FXConsoleVariables::VisualizeGPUSimulation = 0
 
int32 FXConsoleVariables::bAllowGPUSorting = true
 
int32 FXConsoleVariables::bAllowCulling = true
 
int32 FXConsoleVariables::bFreezeGPUSimulation = false
 
int32 FXConsoleVariables::bFreezeParticleSimulation = false
 
int32 FXConsoleVariables::bAllowAsyncTick = !WITH_EDITOR
 
float FXConsoleVariables::ParticleSlackGPU = 0.02f
 
int32 FXConsoleVariables::MaxParticleTilePreAllocation = 100
 
int32 FXConsoleVariables::MaxCPUParticlesPerEmitter = 1000
 
int32 FXConsoleVariables::MaxGPUParticlesSpawnedPerFrame = 1024 * 1024
 
int32 FXConsoleVariables::GPUSpawnWarningThreshold = 20000
 
float FXConsoleVariables::GPUCollisionDepthBounds = 500.0f
 
TAutoConsoleVariable< int32FXConsoleVariables::TestGPUSort (TEXT("FX.TestGPUSort"), 0, TEXT("Test GPU sort. 1: Small, 2: Large, 3: Exhaustive, 4: Random"), ECVF_Cheat)
 
FAutoConsoleVariableRef FXConsoleVariables::CVarVisualizeGPUSimulation (TEXT("FX.VisualizeGPUSimulation"), VisualizeGPUSimulation, TEXT("2 = visualize curve texture"), ECVF_Cheat)
 
FAutoConsoleVariableRef FXConsoleVariables::CVarFreezeGPUSimulation (TEXT("FX.FreezeGPUSimulation"), bFreezeGPUSimulation, TEXT("Freeze particles simulated on the GPU."), ECVF_Cheat)
 
FAutoConsoleVariableRef FXConsoleVariables::CVarFreezeParticleSimulation (TEXT("FX.FreezeParticleSimulation"), bFreezeParticleSimulation, TEXT("Freeze particle simulation."), ECVF_Cheat)
 
FAutoConsoleVariableRef FXConsoleVariables::CVarAllowAsyncTick (TEXT("FX.AllowAsyncTick"), bAllowAsyncTick, TEXT("allow parallel ticking of particle systems."), ECVF_Default)
 
FAutoConsoleVariableRef FXConsoleVariables::CVarParticleSlackGPU (TEXT("FX.ParticleSlackGPU"), ParticleSlackGPU, TEXT("Amount of slack to allocate for GPU particles to prevent tile churn as percentage of total particles."), ECVF_Cheat)
 
FAutoConsoleVariableRef FXConsoleVariables::CVarMaxParticleTilePreAllocation (TEXT("FX.MaxParticleTilePreAllocation"), MaxParticleTilePreAllocation, TEXT("Maximum tile preallocation for GPU particles."), ECVF_Cheat)
 
FAutoConsoleVariableRef FXConsoleVariables::CVarMaxCPUParticlesPerEmitter (TEXT("FX.MaxCPUParticlesPerEmitter"), MaxCPUParticlesPerEmitter,)
 
FAutoConsoleVariableRef FXConsoleVariables::CVarMaxGPUParticlesSpawnedPerFrame (TEXT("FX.MaxGPUParticlesSpawnedPerFrame"), MaxGPUParticlesSpawnedPerFrame,)
 
FAutoConsoleVariableRef FXConsoleVariables::CVarGPUSpawnWarningThreshold (TEXT("FX.GPUSpawnWarningThreshold"), GPUSpawnWarningThreshold, TEXT("Warning threshold for spawning of GPU particles."), ECVF_Cheat)
 
FAutoConsoleVariableRef FXConsoleVariables::CVarGPUCollisionDepthBounds (TEXT("FX.GPUCollisionDepthBounds"), GPUCollisionDepthBounds, TEXT("Limits the depth bounds when searching for a collision plane."), ECVF_Cheat)
 
FAutoConsoleVariableRef FXConsoleVariables::CVarAllowCulling (TEXT("FX.AllowCulling"), bAllowCulling, TEXT("Allow emitters to be culled."), ECVF_Cheat)
 
int32 FXConsoleVariables::bAllowGPUParticles = true
 
FAutoConsoleVariableRef FXConsoleVariables::CVarAllowGPUParticles (TEXT("FX.AllowGPUParticles"), bAllowGPUParticles,)
 

Function Documentation

◆ DECLARE_GPU_DRAWCALL_STAT() [1/3]

DECLARE_GPU_DRAWCALL_STAT ( FXSystemPostRenderOpaque  )

◆ DECLARE_GPU_DRAWCALL_STAT() [2/3]

DECLARE_GPU_DRAWCALL_STAT ( FXSystemPreInitViews  )

◆ DECLARE_GPU_DRAWCALL_STAT() [3/3]

DECLARE_GPU_DRAWCALL_STAT ( FXSystemPreRender  )

◆ IsParticleCollisionModeSupported()

bool IsParticleCollisionModeSupported ( EShaderPlatform  InPlatform,
EParticleCollisionShaderMode  InCollisionShaderMode 
)

Helper function to determine whether the given particle collision shader mode is supported on the given shader platform