class unreal.ParticleSystem(outer: Optional[Object] = None, name: Union[Name, str] = 'None')

Bases: FXSystemAsset

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.

C++ Source:

  • Module: Engine

  • File: ParticleSystem.h

Editor Properties: (see get_editor_property/set_editor_property)

  • allow_managed_ticking (bool): [Read-Write] Allow Managed Ticking: Whether or not to allow instances of this system to have their ticks managed.

  • auto_deactivate (bool): [Read-Write] Auto Deactivate: Auto-deactivate system if all emitters are determined to not spawn particles again, regardless of lifetime.

  • custom_occlusion_bounds (Box): [Read-Write] Custom Occlusion Bounds: The occlusion bounds to use if OcclusionBoundsMethod is set to EPSOBM_CustomBounds

  • delay (float): [Read-Write] Delay: How long this Particle system should delay when ActivateSystem is called on it.

  • delay_low (float): [Read-Write] Delay Low: The low end of the emitter delay if using a range.

  • fixed_relative_bounding_box (Box): [Read-Write] Fixed Relative Bounding Box: Fixed relative bounding box for particle system.

  • insignificance_delay (float): [Read-Write] Insignificance Delay: Time delay between all emitters becoming insignificant and the systems insignificant reaction.

  • insignificant_reaction (ParticleSystemInsignificanceReaction): [Read-Write] Insignificant Reaction: The reaction this system takes when all emitters are insignificant.

  • lod_distance_check_time (float): [Read-Write] LODDistance Check Time: How often (in seconds) the system should perform the LOD distance check.

  • lod_distances (Array[float]): [Read-Write] LODDistances: The array of distances for each LOD level in the system. Used when LODMethod is set to PARTICLESYSTEMLODMETHOD_Automatic.

    Example: System with 3 LOD levels

    LODDistances(0) = 0.0 LODDistances(1) = 2500.0 LODDistances(2) = 5000.0

    In this case, when the system is [ 0.0 .. 2499.9] from the camera, LOD level 0 will be used.

    [2500.0 .. 4999.9] from the camera, LOD level 1 will be used. [5000.0 .. INFINITY] from the camera, LOD level 2 will be used.

  • lod_method (ParticleSystemLODMethod): [Read-Write] LODMethod: The method of LOD level determination to utilize for this particle system

    PARTICLESYSTEMLODMETHOD_Automatic - Automatically set the LOD level, checking every LODDistanceCheckTime seconds.

    PARTICLESYSTEMLODMETHOD_DirectSet - LOD level is directly set by the game code. PARTICLESYSTEMLODMETHOD_ActivateAutomatic - LOD level is determined at Activation time, then left alone unless directly set by game code.

  • lod_settings (Array[ParticleSystemLOD]): [Read-Write] LODSettings

  • macro_uv_position (Vector): [Read-Write] Macro UVPosition: Local space position that UVs generated with the ParticleMacroUV material node will be centered on.

  • macro_uv_radius (float): [Read-Write] Macro UVRadius: World space radius that UVs generated with the ParticleMacroUV material node will tile based on.

  • max_pool_size (uint32): [Read-Write] Max Pool Size: Max number of components of this system to keep resident in the world component pool.

  • max_significance_level (ParticleSignificanceLevel): [Read-Write] Max Significance Level: The maximum level of significance for emitters in this system. Any emitters with a higher significance will be capped at this significance level.

  • min_time_between_ticks (uint32): [Read-Write] Min Time Between Ticks: Minimum duration between ticks; 33=tick at max. 30FPS, 16=60FPS, 8=120FPS

  • named_material_slots (Array[NamedEmitterMaterial]): [Read-Write] Named Material Slots: Array of named material slots for use by emitters of this system. Emitters can use these instead of their own materials by providing the name to the NamedMaterialOverrides property of their required module. These materials can be overridden using CreateNamedDynamicMaterialInstance() on a ParticleSystemComponent.

  • occlusion_bounds_method (ParticleSystemOcclusionBoundsMethod): [Read-Write] Occlusion Bounds Method: Which occlusion bounds method to use for this particle system. EPSOBM_None - Don’t determine occlusion for this system. EPSOBM_ParticleBounds - Use the bounds of the component when determining occlusion.

  • orient_z_axis_toward_camera (bool): [Read-Write] Orient ZAxis Toward Camera: If true, the system’s Z axis will be oriented toward the camera

  • pool_prime_size (uint32): [Read-Write] Pool Prime Size: How many instances we should use to initially prime the pool. This can amortize runtime activation cost by moving it to load time. Use with care as this could cause large hitches for systems loaded/unloaded during play rather than at level load.

  • seconds_before_inactive (float): [Read-Write] Seconds Before Inactive: Number of seconds of emitter not being rendered that need to pass before it no longer gets ticked/ becomes inactive.

  • system_update_mode (ParticleSystemUpdateMode): [Read-Write] System Update Mode

  • thumbnail_warmup (float): [Read-Write] Thumbnail Warmup: The time to warm-up the system for the thumbnail image

  • update_time_fps (float): [Read-Write] Update Time FPS: UpdateTime_FPS - the frame per second to update at in FixedTime mode

  • use_delay_range (bool): [Read-Write] Use Delay Range: If true, select the emitter delay from the range


  • use_fixed_relative_bounding_box (bool): [Read-Write] Use Fixed Relative Bounding Box: Whether to use the fixed relative bounding box or calculate it every frame.

  • use_realtime_thumbnail (bool): [Read-Write] Use Realtime Thumbnail: Inidicates the old ‘real-time’ thumbnail rendering should be used

  • warmup_tick_rate (float): [Read-Write] Warmup Tick Rate: WarmupTickRate - the time step for each tick during warm up.

    Increasing this improves performance. Decreasing, improves accuracy. Set to 0 to use the default tick time.

  • warmup_time (float): [Read-Write] Warmup Time: WarmupTime - the time to warm-up the particle system when first rendered Warning: WarmupTime is implemented by simulating the particle system for the time requested upon activation. This is extremely prone to cause hitches, especially with large particle counts - use with caution.

contains_emitter_type(type_data) bool

Returns true if this system contains an emitter of the pasesd type.


type_data (type(Class)) – The emitter type to check for. Must be a child class of UParticleModuleTypeDataBase

Return type: