Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


Shape module reference

Explore properties on the Shape module, to configure the volume or surface that the Particle System uses to emit particles, and the direction of the start velocity.
Read time 17 minutesLast updated 4 days ago

Explore the Shape module properties to define the volume or surface of particle emission, and the direction of the start velocity.

Shapes in the Shape module

The direction of particle emission varies depending on the shape you choose.

Shape

Description

SphereEmits particles uniformly in all directions.
HemisphereEmits particles uniformly in all directions on one side of a plane.
ConeEmits particles from the base or body of a cone. The particles diverge in proportion to their distance from the cone’s center line.
DonutEmits particles from a torus. The particles move outwards from the ring of the torus.
BoxEmits particles from the edge, surface, or body of a box shape. The particles move in the emitter object’s forward (Z) direction.
MeshEmits particles from any arbitrary mesh shape supplied via the Inspector.
Mesh RendererEmits particles from a reference to a GameObject’s Mesh Renderer.
Skinned Mesh RendererEmits particles from a reference to a GameObject’s Skinned Mesh Renderer.
SpriteEmits particles from a sprite shape supplied via the Inspector.
Sprite RendererEmits particles from a reference to a GameObject’s Sprite Renderer.
CircleEmits particles uniformly from the center or edge of a circle. The particles move only in the plane of the circle.
EdgeEmits particles from a line segment. The particles move in the emitter object’s upward (Y) direction.
RectangleEmits particles from a rectangle. The particles move up from the rectangle.

Shape properties

This section details the properties for each Shape.
For some properties in this section, you can use different modes to set their value. For information on the modes you can use, refer to Vary Particle System properties over time.

Sphere, Hemisphere, Circle

Sphere, Hemisphere, and Circle have the same properties.

Property

Description

RadiusSets the radius of the circular aspect of the shape.
Radius ThicknessSets the proportion of the volume that emits particles. A value of 0 emits particles from the outer surface of the shape. A value of 1 emits particles from the entire volume. Values between 0 and 1 will use a proportion of the volume.
ArcSets the angular portion of a full circle that forms the emitter’s shape.
ModeDefines how Unity generates particles around the arc of the shape. For information on the Mode dropdown options, refer to Mode dropdown.
SpreadControls the discrete intervals around the arc where particles can be generated. For example, a value of 0 means that particles can spawn anywhere around the arc, and a value of 0.1 means that particles can only spawn at 10% intervals around the shape.
SpeedControls the speed the emission position moves around the arc. Set this value to Constant for the value to always remain the same, or Curve for the value to change over time. This property is available only when Mode is Loop or Ping-Pong.
TextureSelects a texture to use for tinting and discarding particles. Important: You must enable the Read/Write property of the texture to use it in the Shape module component. Use the Game Objects view in Project Auditor (Window > Analysis > Project Auditor) to find and fix similar issues across your project.
PositionApplies an offset to the emitter shape used for spawning particles.
RotationRotates the emitter shape used for spawning particles.
ScaleChanges the size of the emitter shape used for spawning particles.
Align to DirectionOrients particles based on their initial direction of travel. This can be useful if you want to simulate, for example, chunks of car paint flying off a car’s bodywork during a collision. If the orientation isn't satisfactory, you can override this property by applying a Start Rotation value in the Main module.
Randomize DirectionBlends particle directions towards a random direction. A value of 0 has no effect. A value of 1 completely randomizes the particle direction.
Spherize DirectionBlends particle directions towards a spherical direction, where they travel outwards from the center of their Transform. A value of 0 has no effect. A value of 1 points the particle direction outwards from the center. When Shape is Hemisphere or Circle, a value of 1 behaves identically to when the Shape is Sphere.
Randomize PositionMoves particles by a random amount, up to the specified value. A value of 0 has no effect. Any other value will apply some randomness to the spawning positions of the particles.

Cone

Property

Description

AngleSets the angle of the cone at its point. A value of 0 produces a cylinder while a value of 90 produces a flat disc.
RadiusSets the radius of the circular aspect of the shape.
Radius ThicknessSets the proportion of the volume that emits particles. A value of 0 emits particles from the outer surface of the shape. A value of 1 emits particles from the entire volume. Values between 0 and 1 will use a proportion of the volume.
ArcSets the angular portion of a full circle that forms the emitter’s shape.
ModeDefines how Unity generates particles around the arc of the shape. For information on the Mode dropdown options, refer to Mode dropdown.
SpreadControls the discrete intervals around the arc where particles can be generated. For example, a value of 0 means that particles can spawn anywhere around the arc, and a value of 0.1 means that particles can only spawn at 10% intervals around the shape.
SpeedControls the speed the emission position moves around the arc. Set this value to Constant for the value to always remain the same, or Curve for the value to change over time. This property is available only when Mode is Loop or Ping-Pong.
LengthSets the length of the cone. This property is available only when Emit from: is Volume.
Emit from:Chooses the part of the cone to emit particles from: Base or Volume.
TextureSelects a texture to use for tinting and discarding particles. Important: You must enable the Read/Write property of the texture to use it in the Shape module component. Use the Game Objects view in Project Auditor (Window > Analysis > Project Auditor) to find and fix similar issues across your project.
PositionApplies an offset to the emitter shape used for spawning particles.
RotationRotates the emitter shape used for spawning particles.
ScaleChanges the size of the emitter shape used for spawning particles.
Align to DirectionOrients particles based on their initial direction of travel. This can be useful if you want to simulate, for example, chunks of car paint flying off a car’s bodywork during a collision. If the orientation isn't satisfactory, you can override this property by applying a Start Rotation value in the Main module.
Randomize DirectionBlends particle directions towards a random direction. A value of 0 has no effect. A value of 1 completely randomizes the particle direction.
Spherize DirectionBlends particle directions towards a spherical direction, where they travel outwards from the center of their Transform. A value of 0 has no effect. A value of 1 points the particle direction outwards from the center, behaving identically to when the Shape is Sphere.
Randomize PositionMoves particles by a random amount, up to the specified value. A value of 0 has no effect. Any other value will apply some randomness to the spawning positions of the particles.

Donut

Property

Description

RadiusSets the radius of the main donut ring.
Donus RadiusSets the radius of the outer donut ring.
Radius ThicknessSets the proportion of the volume that emits particles. A value of 0 emits particles from the outer surface of the shape. A value of 1 emits particles from the entire volume. Values between 0 and 1 will use a proportion of the volume.
ArcSets the angular portion of a full circle that forms the emitter’s shape.
ModeDefines how Unity generates particles around the arc of the shape. For information on the Mode dropdown options, refer to Mode dropdown.
SpreadControls the discrete intervals around the arc where particles can be generated. For example, a value of 0 means that particles can spawn anywhere around the arc, and a value of 0.1 means that particles can only spawn at 10% intervals around the shape.
SpeedControls the speed the emission position moves around the arc. Set this value to Constant for the value to always remain the same, or Curve for the value to change over time. This property is available only when Mode is Loop or Ping-Pong.
TextureSelects a texture to use for tinting and discarding particles. Important: You must enable the Read/Write property of the texture to use it in the Shape module component. Use the Game Objects view in Project Auditor (Window > Analysis > Project Auditor) to find and fix similar issues across your project.
PositionApplies an offset to the emitter shape used for spawning particles.
RotationRotates the emitter shape used for spawning particles.
ScaleChanges the size of the emitter shape used for spawning particles.
Align to DirectionOrients particles based on their initial direction of travel. This can be useful if you want to simulate, for example, chunks of car paint flying off a car’s bodywork during a collision. If the orientation isn't satisfactory, you can override this property by applying a Start Rotation value in the Main module.
Randomize DirectionBlends particle directions towards a random direction. A value of 0 has no effect. A value of 1 completely randomizes the particle direction.
Spherize DirectionBlends particle directions towards a spherical direction, where they travel outwards from the center of their Transform. A value of 0 has no effect. A value of 1 points the particle direction outwards from the center, behaving identically to when the Shape is Sphere.
Randomize PositionMoves particles by a random amount, up to the specified value. A value of 0 has no effect. Any other value will apply some randomness to the spawning positions of the particles.

Box

Property

Description

Emit from:Chooses the part of the box to emit particles from: Volume, Edge, or Shell. The default value is Volume.
TextureSelects a texture to use for tinting and discarding particles.
PositionApplies an offset to the emitter shape used for spawning particles.
RotationRotates the emitter shape used for spawning particles.
ScaleChanges the size of the emitter shape used for spawning particles.
Align to DirectionOrients particles based on their initial direction of travel. This can be useful if you want to simulate, for example, chunks of car paint flying off a car’s bodywork during a collision. If the orientation isn't satisfactory, you can override this property by applying a Start Rotation value in the Main module.
Randomize DirectionBlends particle directions towards a random direction. A value of 0 has no effect. A value of 1 completely randomizes the particle direction.
Spherize DirectionBlends particle directions towards a spherical direction, where they travel outwards from the center of their Transform. A value of 0 has no effect. A value of 1 points the particle direction outwards from the center, behaving identically to when the Shape is Sphere.
Randomize PositionMoves particles by a random amount, up to the specified value. A value of 0 has no effect. Any other value will apply some randomness to the spawning positions of the particles.

Mesh, Mesh Renderer, Skinned Mesh Renderer

Mesh

?

,
Mesh Renderer

?

, and Skinned Mesh Renderer have the same properties.

Property

Description

TypeChoose where to emit particles from: Vertex, Edge, or Triangle. The default value is Vertex.
ModeDefines how Unity generates particles around the arc of the shape. For information on the Mode dropdown options, refer to Mode dropdown.
SpreadControls the discrete intervals around the arc where particles can be generated. For example, a value of 0 means that particles can spawn anywhere around the arc, and a value of 0.1 means that particles can only spawn at 10% intervals around the shape.
SpeedControls the speed the emission position moves around the arc. Set this value to Constant for the value to always remain the same, or Curve for the value to change over time. This property is available only when Mode is Loop or Ping-Pong.
MeshSelect the mesh that provides the emitter's shape. Important: You must enable the Read/Write property of the mesh to use it in the Shape module component. Use the Game Objects view in Project Auditor (Window > Analysis > Project Auditor) to find and fix similar issues across your project.
Single MaterialSelects whether to emit particles from a particular submesh, identified by the material index number. If enabled, a numeric field appears for you to specify the material index number.
Use Mesh ColorsModulates particle color with mesh vertex colors. If mesh vertex colors don't exist, this uses the shader color property
_Color
or
_TintColor
from the material.
Normal OffsetSets the distance away from the surface of the mesh to emit particles in the direction of the surface normal.
TextureSelects a texture to use for tinting and discarding particles. Important: You must enable the Read/Write property of the texture to use it in the Shape module component. Use the Game Objects view in Project Auditor (Window > Analysis > Project Auditor) to find and fix similar issues across your project.
PositionApplies an offset to the emitter shape used for spawning particles.
RotationRotates the emitter shape used for spawning particles.
ScaleChanges the size of the emitter shape used for spawning particles.
Align to DirectionOrients particles based on their initial direction of travel. This can be useful if you want to simulate, for example, chunks of car paint flying off a car’s bodywork during a collision. If the orientation isn't satisfactory, you can override this property by applying a Start Rotation value in the Main module.
Randomize DirectionBlends particle directions towards a random direction. A value of 0 has no effect. A value of 1 completely randomizes the particle direction.
Spherize DirectionBlends particle directions towards a spherical direction, where they travel outwards from the center of their Transform. A value of 0 has no effect. A value of 1 points the particle direction outwards from the center, behaving identically to when the Shape is Sphere.
Randomize PositionMoves particles by a random amount, up to the specified value. A value of 0 has no effect. Any other value will apply some randomness to the spawning positions of the particles.

Sprite and Sprite Renderer

Sprite

?

and
Sprite Renderer

?

have the same properties.

Property

Description

TypeChoose where to emit particles from: Vertex, Edge, or Triangle. The default value is Vertex.
SpriteSelects the sprite that defines the particle emitter’s shape.
Normal OffsetSets the distance away from the surface of the sprite to emit particles in the direction of the surface normal.
TextureSelects a texture to use for tinting and discarding particles. Important: You must enable the Read/Write property of the texture to use it in the Shape module component. Use the Game Objects view in Project Auditor (Window > Analysis > Project Auditor) to find and fix similar issues across your project.
PositionApplies an offset to the emitter shape used for spawning particles.
RotationRotates the emitter shape used for spawning particles.
ScaleChanges the size of the emitter shape used for spawning particles.
Align to DirectionOrients particles based on their initial direction of travel. This can be useful if you want to simulate, for example, chunks of car paint flying off a car’s bodywork during a collision. If the orientation isn't satisfactory, you can override this property by applying a Start Rotation value in the Main module.
Randomize DirectionBlends particle directions towards a random direction. A value of 0 has no effect. A value of 1 completely randomizes the particle direction.
Spherize DirectionBlends particle directions towards a spherical direction, where they travel outwards from the center of their Transform. A value of 0 has no effect. A value of 1 points the particle direction outwards from the center, behaving identically to when the Shape is Sphere.
Randomize PositionMoves particles by a random amount, up to the specified value. A value of 0 has no effect. Any other value will apply some randomness to the spawning positions of the particles.

Edge

Property

Description

RadiusDefines the length of the edge.
ModeDefines how Unity generates particles around the arc of the shape. For information on the Mode dropdown options, refer to Mode dropdown.
SpreadControls the discrete intervals around the arc where particles can be generated. For example, a value of 0 means that particles can spawn anywhere around the arc, and a value of 0.1 means that particles can only spawn at 10% intervals around the shape.
SpeedControls the speed the emission position moves around the arc. Set this value to Constant for the value to always remain the same, or Curve for the value to change over time. This property is available only when Mode is Loop or Ping-Pong.
TextureSelects a texture to use for tinting and discarding particles. Important: You must enable the Read/Write property of the texture to use it in the Shape module component. Use the Game Objects view in Project Auditor (Window > Analysis > Project Auditor) to find and fix similar issues across your project.
PositionApplies an offset to the emitter shape used for spawning particles.
RotationRotates the emitter shape used for spawning particles.
ScaleChanges the size of the emitter shape used for spawning particles.
Align to DirectionOrients particles based on their initial direction of travel. This can be useful if you want to simulate, for example, chunks of car paint flying off a car’s bodywork during a collision. If the orientation isn't satisfactory, you can override this property by applying a Start Rotation value in the Main module.
Randomize DirectionBlends particle directions towards a random direction. A value of 0 has no effect. A value of 1 completely randomizes the particle direction.
Spherize DirectionBlends particle directions towards a spherical direction, where they travel outwards from the center of their Transform. A value of 0 has no effect. A value of 1 points the particle direction outwards from the center, behaving identically to when the Shape is Sphere.
Randomize PositionMoves particles by a random amount, up to the specified value. A value of 0 has no effect. Any other value will apply some randomness to the spawning positions of the particles.

Rectangle

Property

Description

PositionApplies an offset to the emitter shape used for spawning particles.
RotationRotates the emitter shape used for spawning particles.
ScaleChanges the size of the emitter shape used for spawning particles.
Align to DirectionOrients particles based on their initial direction of travel. This can be useful if you want to simulate, for example, chunks of car paint flying off a car’s bodywork during a collision. If the orientation isn't satisfactory, you can override this property by applying a Start Rotation value in the Main module.
Randomize DirectionBlends particle directions towards a random direction. A value of 0 has no effect. A value of 1 completely randomizes the particle direction.
Spherize DirectionBlends particle directions towards a spherical direction, where they travel outwards from the center of their Transform. A value of 0 has no effect. A value of 1 points the particle direction outwards from the center, behaving identically to when the Shape is Sphere.
Randomize PositionMoves particles by a random amount, up to the specified value. A value of 0 has no effect. Any other value will apply some randomness to the spawning positions of the particles.

Mode dropdown options

If Shape is Sphere, Hemisphere, Cone, Donut, Mesh, Mesh Renderer, Skinned Mesh Renderer, Circle, or Edge, the Mode property has the following options:

Value

Description

Random (default)Generates particles randomly along the radius.
LoopGenerates particles sequentially along the radius of the shape, and loops back to the start at the end of each cycle.
Ping-PongGenerates particles sequentially along the radius of the shape, and loops back to the start at the end of each cycle. Each consecutive loop happens in the opposite direction to the previous loop.
Burst SpreadGenerates particles evenly along the radius. Use this mode for a more evenly distributed spread of particles compared to the default randomized behavior, where particles might clump together unevenly. Burst Spread is best used with burst emissions. This property is available only when Shape is Sphere, Hemisphere, Cone, Donut, Circle, or Edge.

Additional resources