Particle System Class

A technical reference for the base ParticleSystem class, showing its properties.


A ParticleSystem is a complete particle effect that contains any number of ParticleEmitters. By allowing multiple emitters in a system, the designer can create elaborate particle effects that are held in a single system. Once created using Cascade, a ParticleSystem can then be inserted into a level or created in script.

The ParticleSystem class contains the following public variable(s):





This enumeration indicates the method the system should use to update its emitters. Two modes are available:




Updates the emitters in real time.


Updates the emitters at a fixed time step. This locks the system to the update time of the game and is performance dependent, so a lower framerate lowers the update time of the system (slowing it down), whereas a higher framerate speeds it up. Usually only used in special cases.

EPSUM_FixedTime will step the system a given amount regardless of the current frame-rate. This mode should only be used when the effect timing is not key to another system - such as tying the emitter to an animation.


The time-step to use when operating in EPSUM_FixedTime.


The amount of time to warm-up the system at launch. This allows for an emitter to start in full bloom. This can degrade performance, so use sparingly especially at high values. Good for systems you want to have started while the level initially loads, like smoke pillars or ambient effects.

Warmup Tick Rate

This governs the time step for each tick during system warmup. Increasing this value improves performance while decreasing improves accuracy. A value of 0 indicates the default tick time.

Orient ZAxis Toward Camera

If true, the local Z-axis of the ParticleSystem will be oriented towards the camera at all times.


If the particle system is not rendered for this amount of time (in seconds), it will go inactive no longer being ticked. Enter a zero to prevent the system from ever being forced to be inactive.



The amount of time to warm-up the system before catching the thumbnail render when Use Real-Time Thumbnail is checked.

Use Real-Time Thumbnail

If true, the thumbnail displayed in the Content Browser for the ParticleSystem asset will be automatically captured using the default camera position and reflect the current settings and appearance of the ParticleSystem instead of using the saved thumbnail.

Using Real-Time thumbnail rendering can slow down performance of the Content Browser.


LOD Distance Check Time

This is how often (in seconds) the system should perform a distance check to determine the LOD level to utilize. (Only used when LODMethod is set to Automatic.)

LOD Method

This enumeration indicates the method the system should utilize for selecting appropriate LOD levels. Three methods are available:




Set the LOD level based on LOD distance and check time automatically.


The game will set the LOD level for the system to use directly.


LOD level is determined at activation time, then left alone unless directly set by game code.


An array of distances for determining which LOD level to utilize. (Only used when LODMethod is set to Automatic.) These numbers recommend the minimum distance away for the LOD level to be selected. For example, consider a system with 3 LOD levels:




LOD level selected



0.0 - 2499.9

0 (the highest)



2500.0 - 4999.9




5000.0 - Infinity



An array of structs determining specific settings to use for each individual LOD. Currently, the only setting Lit controls whether the ParticleSystem accepts lights when the given LOD is in use.


Use Fixed Relative Bounding Box

If true, the code will utilize the Fixed Relative Bounding Box as the bounds for the particle system.

Fixed Relative Bounding Box

Allows for user-set bounding-boxes for the particle system. Removes the overhead of performing bounds updating each frame, at the cost of potentially rendering/updating when the effect is not visible or conversely not rendering/updating when the effect is in view. Unless you have emitters with wildly varying size scales, you should almost always use a fixed bounding box for performance reasons.

Right-clicking the 'Toggle Bounds' button on the Cascade toolbar will fill in this dialog box with the currently used values of the dynamic box in Cascade, giving you a base to start from to tweak to your liking.



The amount of time in seconds the ParticleSystem should wait before activating when ActivateSystem() is executed. Also, this value is the high end of the range to use for choosing a random delay value when Use Delay Range is true.

Delay Low

The low end of the range to use for choosing a random delay value when Use Delay Range is true.

Use Delay Range

If true, a random value between Delay Low and Delay is chosen for the actual delay value to use.


Macro UV Position

The local-space position relative to the ParticleSystem used as the center point to generate the UV texture coordinates for the ParticleMacroUV material expression.

Macro UV Radius

World-space radius that determines the distance from the Macro UV Position where the UV texture coordinates generated for the ParticleMacroUV material expression will begin tiling.


Occlusion Bounds Method

The method to use when calculating occlusion of the ParticleSystem.




Occlusion is not calculated for the ParticleSystem.


The Bounds of the ParticleSystemComponent is used for calculating occlusion for the ParticleSystem.


The Custom Occlusion Bounds values are used to calculate occlusion for the ParticleSystem.

Custom Occlusion Bounds

The bounds to use for calculating occlusion when using the EPSOBM_CustomBounds Occlusion Bounds Method.

Select Skin
Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback