Version: 2019.3
Leaf Group Properties
What is a Particle System?

Particle systems in Unity

A particle systemA component that simulates fluid entities such as liquids, clouds and flames by generating and animating large numbers of small 2D images in the scene. More info
See in Glossary
simulates and renders many small images or Meshes, called particles, to produce a visual effect. Each particle in a system represents an individual graphical element in the effect. The system simulates every particle collectively to create the impression of the complete effect.

The holo table in Unitys Spaceship demo. Made with the Visual Effect Graph.
The holo table in Unity’s Spaceship demo. Made with the Visual Effect Graph.

Particle systems are useful when you want to create dynamic objects like fire, smoke, or liquids, because it is difficult to depict this kind of object with a MeshThe main graphics primitive of Unity. Meshes make up a large part of your 3D worlds. Unity supports triangulated or Quadrangulated polygon meshes. Nurbs, Nurms, Subdiv surfaces must be converted to polygons. More info
See in Glossary
(3D) or SpriteA 2D graphic objects. If you are used to working in 3D, Sprites are essentially just standard textures but there are special techniques for combining and managing sprite textures for efficiency and convenience during development. More info
See in Glossary
(2D). Meshes and Sprites are better at depicting solid objects such as a house or a car.

Choosing your particle system solution

To provide flexibility when you author a particle system, Unity offers two solutions to choose from. If your Project targets platforms that support Compute Shaders, Unity allows you to use both at the same time. The two particle system solutions are:

  • The Built-in Particle System: A solution that gives you full read/write access to the system, and the particles it contains, from C# scriptsA piece of code that allows you to create your own Components, trigger game events, modify Component properties over time and respond to user input in any way you like. More info
    See in Glossary
    . You can use the [Particle System API(text to create custom behaviors for your particle system.
  • The Visual Effect Graph: A solution that can run on the GPU to simulate millions of particles and create large-scale visual effects. The Visual Effect Graph also includes a visual graph editor to help you author highly customizable visual effects.

The following table shows a high-level comparison of the two particle system solutions. For more information about either solution, see Built-in Particle System or Visual Effect Graph.

Feature Built-in Particle System Visual Effect Graph
Render Pipeline compatibility Built-in Render PipelineUniversal Render PipelineHigh Definition Render Pipeline Universal Render PipelineHigh Definition Render Pipeline
Feasible number of particles Thousands Millions
Particle system authoring Simple modular authoring process that uses the Particle System component in the InspectorA Unity window that displays information about the currently selected GameObject, Asset or Project Settings, alowing you to inspect and edit the values. More info
See in Glossary
. Each module represents a predefined behavior for the particle.
Highly customizable authoring process that uses a graph view.
Physics Particles can interact with Unity’s underlying physics system. Particles can interact with specific elements that you define in the Visual Effect Graph. For example, particles can interact with the depth bufferA memory store that holds the z-value depth of each pixel in an image, where the z-value is the depth for each rendered pixel from the projection plane. More info
See in Glossary
.
Script interaction You can use C# scripts to fully customize the Particle System at runtime. You can read from and write to each particle in a system, and respond to collisionA collision occurs when the physics engine detects that the colliders of two GameObjects make contact or overlap, when at least one has a rigidbody component and is in motion. More info
See in Glossary
events. The Particle System component also provides playback control API. This means that you can use scripts to play and pause the effect, and simulate the effect with custom step sizes.
You can expose graph properties and access them through C# scripts to customize instances of the effect. You can also use the Event Interface to send custom events with attached data that the graph can process. The Visual Effect component also provides playback control API. This means that you can use scripts to play and pause the effect, and simulate the effect with custom step sizes.
Frame buffers No In the High Definition Render Pipeline, provides access to the color and depth buffer. For example, you can sample the color buffer and use the result to set particle color, or you can use the depth buffer to simulate collisions.

Built-in Particle System

Unity’s Built-in Particle System allows you to create effects for every platform that Unity supports. The Built-in Particle System simulates particle behavior on the CPU which allows for the following main benefits:

  • You can use C# scripts to interact with a system and the individual particles within it.
  • Particle systems can use Unity’s underlying physics system and thus interact with CollidersAn invisible shape that is used to handle physical collisions for an object. A collider doesn’t need to be exactly the same shape as the object’s mesh - a rough approximation is often more efficient and indistinguishable in gameplay. More info
    See in Glossary
    in your SceneA Scene contains the environments and menus of your game. Think of each unique Scene file as a unique level. In each Scene, you place your environments, obstacles, and decorations, essentially designing and building your game in pieces. More info
    See in Glossary
    .

For more information on how to use the Built-in Particle System, see the Particle System component.

Example effects made with the Built-in Particle System.
Example effects made with the Built-in Particle System.

Visual Effect Graph

The Visual Effect Graph is a package that you can use to create large-scale visual effects for your Unity Project. The Visual Effect Graph simulates particle behavior on the GPU, which allows it to simulate many more particles than the Built-in Particle System. If you want to create visual effects that include a large number of particles and need highly customisable behavior, use the Visual Effect Graph instead of the Built-in Particle System. For information on how to install and use the Visual Effect Graph, see the getting started guide.

Example effects made with the Visual Effect Graph.
Example effects made with the Visual Effect Graph.

Did you find this page useful? Please give it a rating:

Leaf Group Properties
What is a Particle System?