Particle System Modules (Shuriken)

The Particle System (Shuriken) uses modules to describe the behaviour of particles over time. The modules are documented in detail here. For an introduction to modules see this page.

Initial Module

This module is always present, it cannot be removed or disabled.

DurationThe duration the Particle System will be emitting particles.
LoopingIs the Particle System looping.
PrewarmOnly looping systems can be prewarmed which means that the Particle System will have emitted particles at start as if it had already emitted particles one cycle.
Start DelayDelay in seconds that this Particle System will wait before emitting particles. Note prewarmed looping systems cannot use a start delay.
Start LifetimeThe lifetime of particles in seconds (see MinMaxCurve).
Start SpeedThe speed of particles when emitted (see MinMaxCurve).
Start SizeThe size of particles when emitted (see MinMaxCurve).
Start RotationThe rotation of particles when emitted (see MinMaxCurve).
Start ColorThe color of particles when emitted (see MinMaxGradient).
Gravity ModifierThe amount of gravity that will affect particles during their lifetime.
Inherit VelocityFactor for controlling the amount of velocity the particles should inherit of the transform of the Particle System (for moving Particle Systems).
Simulation SpaceSimulate the Particle System in local space or world space.
Play On AwakeIf enabled the Particle System will automatically start when it's created.
Max ParticlesMax number of particles the Particle System will emit.

Emission Module

Controls the rate of particles being emitted and allows spawning large groups of particles at certain moments (over Particle System duration time). Useful for explosions when a bunch of particles need to be created at once.

RateAmount of particles emitted over Time (per second) or Distance (per meter) (see MinMaxCurve).
Bursts (Time option only)Add bursts of particles that occur within the duration of the Particle System.
Time and Number of ParticlesSpecify time (in seconds within duration) that a specified amount of particles should be emitted. Use the + and - for adjusting number of bursts.

Shape Module

Defines the shape of the emitter: Sphere, Hemishpere, Cone, Box and Mesh. Can apply initial force along the surface normal or random direction.

Sphere 
RadiusRadius of the sphere. (Can also be manipulated by handles in the Scene View).
Emit from ShellEmit from shell of the sphere. If disabled, particles will be emitted from the volume of the sphere.
Random DirectionShould particles have a random direction when emitted or a direction along the surface normal of the sphere?
Hemisphere 
RadiusRadius of the hemisphere. (Can also be manipulated by handles in the Scene View).
Emit from ShellEmit from shell of the hemisphere. If disabled particles will be emitted from the volume of the hemisphere.
Random DirectionShould particles have a random direction when emitted or a direction along the surface normal of the hemisphere?
Cone 
AngleAngle of the cone. If angle is 0 then particles will be emitted in one direction. (Can also be manipulated by handles in the Scene View).
RadiusThe radius at the point of emission. If the value is near zero emission will be from a point. A larger value basically creates a capped cone, emission coming from a disc rather than a point. (Can also be manipulated by handles in the Scene View).
LengthLength of the emission volume. Only available when emitting from a Volume or Volume Shell. (Can also be manipulated by handles in the Scene View).
Emit FromDetermines where emission originates from. Possible values are Base, Base Shell, Volume and Volume Shell.
Random DirectionShould particles have a random direction when emitted or a direction along the cone?
Box 
Box XScale of box in X. (Can also be manipulated by handles in the Scene View).
Box YScale of box in Y. (Can also be manipulated by handles in the Scene View).
Box ZScale of box in Z. (Can also be manipulated by handles in the Scene View).
Random DirectionShould particles have a random direction when emitted or a direction along the Z-axis of the box?
Mesh 
TypeParticles can be emitted from either Vertex, Edge or Triangle.
MeshSelect Mesh that should be used as emission shape.
Random DirectionShould particles have a random direction when emitted or a direction along the surface of the mesh?

Velocity Over Lifetime Module

Directly animates velocity of the particle. Mostly useful for particles which has complex physical, but simple visual behavior (like smoke with turbulence and temperature loss) and has little interaction with physical world.

XYZUse either constant values for curves or random between curves for controlling the movement of the particles. See MinMaxCurve.
SpaceLocal / World: Are the velocity values in local space or world space?

Limit Velocity Over Lifetime Module

Basically can be used to simulate drag. Dampens or clamps velocity, if it is over certain threshold. Can be configured per axis or per vector length.

Separate AxisUse for setting per axis control.
SpeedSpecify magnitude as constant or by curve that will limit all axes of velocity. See MinMaxCurve.
Dampen(0-1) value that controls how much the exceeding velocity should be dampened. For example, a value of 0.5 will dampen exceeding velocity by 50%.

Force Over Lifetime Module

XYZUse either constant values for curves or random between curves for controlling the force applied to the particles. See MinMaxCurve.
SpaceLocal / World: Are the velocity values in local space or world space
RandomizeRandomize the force applied to the particles every frame.

Color Over Lifetime Module

ColorControls the color of each particle during its lifetime. If some particles have a shorter lifetime than others, they will animate faster. Use constant color, random between two colors, animate it using gradient or specify a random color using two gradients (see Gradient). Note that this colour will be multiplied by the value in the Start Color property - if the Start Color is black then Color Over Lifetime will not affect the particle.

Color By Speed Module

Animates particle color based on its speed. Remaps speed in the defined range to a color.

ColorColor used for remapping of speed. Use gradients for varying colors. See MinMaxGradient.
Speed RangeThe min and max values for defining the speed range which is used for remapping a speed to a color.

Size Over Lifetime Module

SizeControls the size of each particle during its lifetime. Use constant size, animate it using a curve or specify a random size using two curves. See MinMaxCurve.

Size By Speed Module

SizeSize used for remapping of speed. Use curves for varying sizes. See MinMaxCurve.
Speed RangeThe min and max values for defining the speed range which is used for remapping a speed to a size.

Rotation Over Lifetime Module

Specify values in degrees.

Angular VelocityControls the rotational speed of each particle during its lifetime. Use constant rotational speed, animate it using a curve or specify a random rotational speed using two curves. See MinMaxCurve.

Rotation By Speed Module

Angular VelocityRotational speed used for remapping of a particle's speed. Use curves for varying rotational speeds. See MinMaxCurve.
Speed RangeThe min and max values for defining the speed range which is used for remapping a speed to a rotational speed.

External Forces Module

MultiplierScale factor that determines how much the particles are affected by wind zones (i.e., the wind force vector is multiplied by this value).

Collision Module

Set up collisions for the particles of this Particle System. World and planar collisions are supported. Planar collision is very efficient for simple collision detection. Planes are set up by referencing an existing transform in the scene or by creating a new empty GameObject for this purpose. Another benefit of planar collision is that particle systems with collision planes can be set up as prefabs. World collision uses raycasts so must be used with care in order to ensure good performance. However, for cases where approximate collisions are acceptable world collision in Low or Medium quality can be very efficient.

Properties common for any Collision Module

Planes/WorldSpecify the collision type: Planes for planar collision or World for world collisions.
Dampen(0-1) When the particle collides, it will keep this fraction of its speed. Unless it is set to 1.0, the particle will become slower after collision.
Bounce(0-1) When the particle collides, it will keep this fraction of the component of the velocity, which is normal to the plane of collision.
Lifetime Loss(0-1) The fraction of Start Lifetime lost on each collision. When lifetime reaches 0, the particle dies. For example if a particle should die on first collision, set this to 1.0.
Min Kill SpeedThe minimum speed of a particle before it is killed.
Send Collision MessagesWhether to send collision messages and thus trigger OnParticleCollision callbacks on GameObjects and ParticleSystems.

Properties available only in the Planes Mode

PlanesPlanes are defined by assigning a reference to a transform. This transform can be any transform in the scene and can be animated. Multiple planes can be used. Note: the Y-axis is used as the normal of a plane.
VisualizationOnly used for visualizing the planes: Grid or Solid.
GridRendered as gizmos and is useful for quick indication of position and orientation in the world.
SolidRenders a plane in the scene which is useful for exact positioning of a plane.
Scale PlaneResizes the visualization planes.
Particle RadiusThe assumed radius of the particle for collision purposes. (So particles are treated as spheres.)

Properties available only in the World Mode

Collides WithFilter for specifying colliders. Select Everything to colllide with the whole world.
Collision QualityThe quality of the world collision.
HighAll particles performs a scene raycast per frame. Note: This is CPU intensive, it should only be used with 1000 simultaneous particles (scene wide) or less.
MediumThe particle system receives a share of the globally set Particle Raycast Budget (see Particle Raycast Budget) in each frame. Particles are updated in a round-robin fashion where particles that do not receive a raycast in a given frame will lookup and use older collisions stored in a cache. Note: This collision type is approximate and some particles will leak, particularly at corners.
LowSame as Medium except the particle system is only awarded a share of the Particle Raycast Budget every fourth frame.
Voxel SizeDensity of the voxels used for caching intersections used in the Medium and Low quality setting. The size of a voxel is given in scene units. Usually, 0.5 - 1.0 should be used (assuming metric units).

Sub Emitter Module

This is a powerful module that enables spawning of other Particle Systems at the follwing particle events: birth, death or collision of a particle.

BirthSpawn another Particle System at birth of each particle in this Particle System.
DeathSpawn another Particle System at death of each particle in this Particle System.
CollisionSpawn another Particle System at collision of each particle in this Particle System. IMPORTANT: Collision needs to be set up using the Collision Module. See Collision Module.

Texture Sheet Animation Module

Animates UV coordinates of the particle over its lifetime. Animation frames can be presented in a form of a grid or every row in the sheet can be separate animation. The frames are animated with curves or can be a random frame between two curves. The speed of the animation is defined by "Cycles".

IMPORTANT: The texture used for animation is the one used by the material found in the Renderer module.
TilesDefine the tiling of the texture.
AnimationSpecify the animation type: Whole Sheet or Single Row.
Whole SheetUses the whole sheet for uv animation.
- Frame over TimeControls the uv animation frame of each particle during its lifetime over the whole sheet. Use constant, animate it using a curve or specify a random frame using two curves. See MinMaxCurve.
Single RowUses a single row of the texture sheet for uv animation.
- Random RowIf checked, the start row will be random, and if unchecked, the row index can be specified (first row is 0).
- Frame over TimeControls the uv animation frame of each particle during its lifetime within the specified row. Use constant, animate it using a curve or specify a random frame using two curves. See MinMaxCurve.
- CyclesSpecify speed of animation.

Renderer Module

The renderer module exposes the ParticleSystemRenderer component's properties. Note that even though a GameObject has a ParticleSystemRenderer component, its properties are only exposed here. When this module is removed/added, it is actually the ParticleSystemRenderer component that is added or removed.

Render ModeSelect one of the following particle render modes.
BillboardMakes the particles always face the camera.
Stretched BillboardParticles are stretched using the following parameters.
- Camera ScaleHow much the camera speed is factored in when determining particle stretching.
- Speed ScaleDefines the length of the particle compared to its speed.
- Length ScaleDefines the length of the particle compared to its width.
Horizontal BillboardMakes the particles align with the XZ plane.
Vertical BillboardMakes the particles align with the Y axis while facing the camera.
MeshParticles are rendered using a mesh instead of a quad.
- MeshThe reference to the mesh used for rendering particles.
Normal DirectionValue from 0 to 1 that determines how much normals point toward the camera (0) and how much sideways toward the centre of the view (1).
MaterialMaterial used by billboarded or mesh particles.
Sort ModeThe draw order of particles can be sorted by distance, youngest first, or oldest first.
Sorting FudgeUse this to affect the draw order. Particle systems with lower sorting fudge numbers are more likely to be drawn last, and thus appear in front of other transparent objects, including other particles.
Cast ShadowsShould particles cast shadows? May or may not be possible depending on the material.
Receive ShadowsShould particles receive shadows? May or may not be possible depending on the material.
Max Particle SizeSet max relative viewport size. Valid values: 0-1.

Page last updated: 2013-03-12