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

Functions

FAutoConsoleVariableRef CVarAllowGPUSorting (TEXT("FX.AllowGPUSorting"), bAllowGPUSorting, TEXT("Allow particles to be sorted on the GPU."), ECVF_ReadOnly|ECVF_Preview)
 

Variables

int32 VisualizeGPUSimulation = 0
 
int32 bAllowGPUSorting = true
 
int32 bAllowCulling = true
 
int32 bFreezeGPUSimulation = false
 
int32 bFreezeParticleSimulation = false
 
int32 bAllowAsyncTick = !WITH_EDITOR
 
float ParticleSlackGPU = 0.02f
 
int32 MaxParticleTilePreAllocation = 100
 
int32 MaxCPUParticlesPerEmitter = 1000
 
int32 MaxGPUParticlesSpawnedPerFrame = 1024 * 1024
 
int32 GPUSpawnWarningThreshold = 20000
 
float GPUCollisionDepthBounds = 500.0f
 
TAutoConsoleVariable< int32TestGPUSort (TEXT("FX.TestGPUSort"), 0, TEXT("Test GPU sort. 1: Small, 2: Large, 3: Exhaustive, 4: Random"), ECVF_Cheat)
 
FAutoConsoleVariableRef CVarVisualizeGPUSimulation (TEXT("FX.VisualizeGPUSimulation"), VisualizeGPUSimulation, TEXT("2 = visualize curve texture"), ECVF_Cheat)
 
FAutoConsoleVariableRef CVarFreezeGPUSimulation (TEXT("FX.FreezeGPUSimulation"), bFreezeGPUSimulation, TEXT("Freeze particles simulated on the GPU."), ECVF_Cheat)
 
FAutoConsoleVariableRef CVarFreezeParticleSimulation (TEXT("FX.FreezeParticleSimulation"), bFreezeParticleSimulation, TEXT("Freeze particle simulation."), ECVF_Cheat)
 
FAutoConsoleVariableRef CVarAllowAsyncTick (TEXT("FX.AllowAsyncTick"), bAllowAsyncTick, TEXT("allow parallel ticking of particle systems."), ECVF_Default)
 
FAutoConsoleVariableRef 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 CVarMaxParticleTilePreAllocation (TEXT("FX.MaxParticleTilePreAllocation"), MaxParticleTilePreAllocation, TEXT("Maximum tile preallocation for GPU particles."), ECVF_Cheat)
 
FAutoConsoleVariableRef CVarMaxCPUParticlesPerEmitter (TEXT("FX.MaxCPUParticlesPerEmitter"), MaxCPUParticlesPerEmitter,)
 
FAutoConsoleVariableRef CVarMaxGPUParticlesSpawnedPerFrame (TEXT("FX.MaxGPUParticlesSpawnedPerFrame"), MaxGPUParticlesSpawnedPerFrame,)
 
FAutoConsoleVariableRef CVarGPUSpawnWarningThreshold (TEXT("FX.GPUSpawnWarningThreshold"), GPUSpawnWarningThreshold, TEXT("Warning threshold for spawning of GPU particles."), ECVF_Cheat)
 
FAutoConsoleVariableRef CVarGPUCollisionDepthBounds (TEXT("FX.GPUCollisionDepthBounds"), GPUCollisionDepthBounds, TEXT("Limits the depth bounds when searching for a collision plane."), ECVF_Cheat)
 
FAutoConsoleVariableRef CVarAllowCulling (TEXT("FX.AllowCulling"), bAllowCulling, TEXT("Allow emitters to be culled."), ECVF_Cheat)
 
int32 bAllowGPUParticles = true
 
FAutoConsoleVariableRef CVarAllowGPUParticles (TEXT("FX.AllowGPUParticles"), bAllowGPUParticles,)
 
int32 MaxDistanceTessellation = MAX_TRAIL_INDICES
 
int32 MaxTangentTessellation = MAX_TRAIL_INDICES
 
FAutoConsoleVariableRef CVarMaxDistanceTessellation (TEXT("FX.Trail.MaxDistanceTessellation"), MaxDistanceTessellation, TEXT("Maximum tessellation steps allowed for distance based tessellation."), ECVF_Default)
 
FAutoConsoleVariableRef CVarMaxTangentTessellation (TEXT("FX.Trail.MaxTangentTessellation"), MaxTangentTessellation, TEXT("Maximum tessellation steps allowed for tangent based tessellation."), ECVF_Default)
 

Detailed Description

WARNING: These variables must only be changed via the console manager!

Function Documentation

◆ CVarAllowGPUSorting()

FAutoConsoleVariableRef FXConsoleVariables::CVarAllowGPUSorting ( TEXT("FX.AllowGPUSorting")  ,
bAllowGPUSorting  ,
TEXT("Allow particles to be sorted on the GPU.")  ,
ECVF_ReadOnly ECVF_Preview 
)

Variable Documentation

◆ bAllowAsyncTick

int32 FXConsoleVariables::bAllowAsyncTick = !WITH_EDITOR

true if we allow async ticks

◆ bAllowCulling

int32 FXConsoleVariables::bAllowCulling = true

true if emitters can be culled.

◆ bAllowGPUParticles

int32 FXConsoleVariables::bAllowGPUParticles = true

true if GPU particles are allowed.

◆ bAllowGPUSorting

ENGINE_API int32 FXConsoleVariables::bAllowGPUSorting = true

true if GPU emitters are permitted to sort.

◆ bFreezeGPUSimulation

int32 FXConsoleVariables::bFreezeGPUSimulation = false

true if GPU particle simulation is frozen.

◆ bFreezeParticleSimulation

int32 FXConsoleVariables::bFreezeParticleSimulation = false

true if particle simulation is frozen.

◆ CVarAllowAsyncTick

FAutoConsoleVariableRef FXConsoleVariables::CVarAllowAsyncTick(TEXT("FX.AllowAsyncTick"), bAllowAsyncTick, TEXT("allow parallel ticking of particle systems."), ECVF_Default) ( TEXT("FX.AllowAsyncTick")  ,
bAllowAsyncTick  ,
TEXT("allow parallel ticking of particle systems.")  ,
ECVF_Default   
)

◆ CVarAllowCulling

FAutoConsoleVariableRef FXConsoleVariables::CVarAllowCulling(TEXT("FX.AllowCulling"), bAllowCulling, TEXT("Allow emitters to be culled."), ECVF_Cheat) ( TEXT("FX.AllowCulling")  ,
bAllowCulling  ,
TEXT("Allow emitters to be culled.")  ,
ECVF_Cheat   
)

◆ CVarAllowGPUParticles

FAutoConsoleVariableRef FXConsoleVariables::CVarAllowGPUParticles(TEXT("FX.AllowGPUParticles"), bAllowGPUParticles,) ( TEXT("FX.AllowGPUParticles")  ,
bAllowGPUParticles   
)

◆ CVarFreezeGPUSimulation

FAutoConsoleVariableRef FXConsoleVariables::CVarFreezeGPUSimulation(TEXT("FX.FreezeGPUSimulation"), bFreezeGPUSimulation, TEXT("Freeze particles simulated on the GPU."), ECVF_Cheat) ( TEXT("FX.FreezeGPUSimulation")  ,
bFreezeGPUSimulation  ,
TEXT("Freeze particles simulated on the GPU.")  ,
ECVF_Cheat   
)

◆ CVarFreezeParticleSimulation

FAutoConsoleVariableRef FXConsoleVariables::CVarFreezeParticleSimulation(TEXT("FX.FreezeParticleSimulation"), bFreezeParticleSimulation, TEXT("Freeze particle simulation."), ECVF_Cheat) ( TEXT("FX.FreezeParticleSimulation")  ,
bFreezeParticleSimulation  ,
TEXT("Freeze particle simulation.")  ,
ECVF_Cheat   
)

◆ CVarGPUCollisionDepthBounds

FAutoConsoleVariableRef FXConsoleVariables::CVarGPUCollisionDepthBounds(TEXT("FX.GPUCollisionDepthBounds"), GPUCollisionDepthBounds, TEXT("Limits the depth bounds when searching for a collision plane."), ECVF_Cheat) ( TEXT("FX.GPUCollisionDepthBounds")  ,
GPUCollisionDepthBounds  ,
TEXT("Limits the depth bounds when searching for a collision plane.")  ,
ECVF_Cheat   
)

◆ CVarGPUSpawnWarningThreshold

FAutoConsoleVariableRef FXConsoleVariables::CVarGPUSpawnWarningThreshold(TEXT("FX.GPUSpawnWarningThreshold"), GPUSpawnWarningThreshold, TEXT("Warning threshold for spawning of GPU particles."), ECVF_Cheat) ( TEXT("FX.GPUSpawnWarningThreshold")  ,
GPUSpawnWarningThreshold  ,
TEXT("Warning threshold for spawning of GPU particles.")  ,
ECVF_Cheat   
)

◆ CVarMaxCPUParticlesPerEmitter

FAutoConsoleVariableRef FXConsoleVariables::CVarMaxCPUParticlesPerEmitter(TEXT("FX.MaxCPUParticlesPerEmitter"), MaxCPUParticlesPerEmitter,) ( TEXT("FX.MaxCPUParticlesPerEmitter")  ,
MaxCPUParticlesPerEmitter   
)

◆ CVarMaxDistanceTessellation

FAutoConsoleVariableRef FXConsoleVariables::CVarMaxDistanceTessellation(TEXT("FX.Trail.MaxDistanceTessellation"), MaxDistanceTessellation, TEXT("Maximum tessellation steps allowed for distance based tessellation."), ECVF_Default) ( TEXT("FX.Trail.MaxDistanceTessellation")  ,
MaxDistanceTessellation  ,
TEXT("Maximum tessellation steps allowed for distance based tessellation.")  ,
ECVF_Default   
)

◆ CVarMaxGPUParticlesSpawnedPerFrame

FAutoConsoleVariableRef FXConsoleVariables::CVarMaxGPUParticlesSpawnedPerFrame(TEXT("FX.MaxGPUParticlesSpawnedPerFrame"), MaxGPUParticlesSpawnedPerFrame,) ( TEXT("FX.MaxGPUParticlesSpawnedPerFrame")  ,
MaxGPUParticlesSpawnedPerFrame   
)

◆ CVarMaxParticleTilePreAllocation

FAutoConsoleVariableRef FXConsoleVariables::CVarMaxParticleTilePreAllocation(TEXT("FX.MaxParticleTilePreAllocation"), MaxParticleTilePreAllocation, TEXT("Maximum tile preallocation for GPU particles."), ECVF_Cheat) ( TEXT("FX.MaxParticleTilePreAllocation")  ,
MaxParticleTilePreAllocation  ,
TEXT("Maximum tile preallocation for GPU particles.")  ,
ECVF_Cheat   
)

◆ CVarMaxTangentTessellation

FAutoConsoleVariableRef FXConsoleVariables::CVarMaxTangentTessellation(TEXT("FX.Trail.MaxTangentTessellation"), MaxTangentTessellation, TEXT("Maximum tessellation steps allowed for tangent based tessellation."), ECVF_Default) ( TEXT("FX.Trail.MaxTangentTessellation")  ,
MaxTangentTessellation  ,
TEXT("Maximum tessellation steps allowed for tangent based tessellation.")  ,
ECVF_Default   
)

◆ CVarParticleSlackGPU

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) ( TEXT("FX.ParticleSlackGPU")  ,
ParticleSlackGPU  ,
TEXT("Amount of slack to allocate for GPU particles to prevent tile churn as percentage of total particles.")  ,
ECVF_Cheat   
)

◆ CVarVisualizeGPUSimulation

FAutoConsoleVariableRef FXConsoleVariables::CVarVisualizeGPUSimulation(TEXT("FX.VisualizeGPUSimulation"), VisualizeGPUSimulation, TEXT("2 = visualize curve texture"), ECVF_Cheat) ( TEXT("FX.VisualizeGPUSimulation")  ,
VisualizeGPUSimulation  ,
TEXT("2 = visualize curve texture" ,
ECVF_Cheat   
)

Register references to flags.

◆ GPUCollisionDepthBounds

float FXConsoleVariables::GPUCollisionDepthBounds = 500.0f

Depth bounds for GPU collision checks.

◆ GPUSpawnWarningThreshold

int32 FXConsoleVariables::GPUSpawnWarningThreshold = 20000

Warning threshold for spawning of GPU particles.

◆ MaxCPUParticlesPerEmitter

int32 FXConsoleVariables::MaxCPUParticlesPerEmitter = 1000

Maximum number of CPU particles to allow per-emitter.

◆ MaxDistanceTessellation

int32 FXConsoleVariables::MaxDistanceTessellation = MAX_TRAIL_INDICES

◆ MaxGPUParticlesSpawnedPerFrame

int32 FXConsoleVariables::MaxGPUParticlesSpawnedPerFrame = 1024 * 1024

Maximum number of GPU particles to spawn per-frame.

◆ MaxParticleTilePreAllocation

int32 FXConsoleVariables::MaxParticleTilePreAllocation = 100

Maximum tile preallocation for GPU particles.

◆ MaxTangentTessellation

int32 FXConsoleVariables::MaxTangentTessellation = MAX_TRAIL_INDICES

◆ ParticleSlackGPU

float FXConsoleVariables::ParticleSlackGPU = 0.02f

Amount of slack to allocate for GPU particles to prevent tile churn as percentage of total particles.

◆ TestGPUSort

TAutoConsoleVariable< int32 > FXConsoleVariables::TestGPUSort ( TEXT("FX.TestGPUSort")  ,
,
TEXT("Test GPU sort. 1: Small, 2: Large, 3: Exhaustive, 4: Random" ,
ECVF_Cheat   
)

Specify a sorting test to run.

◆ VisualizeGPUSimulation

int32 FXConsoleVariables::VisualizeGPUSimulation = 0

Visualize GPU particle simulation.