Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

Process material properties

ParticleProcessMaterial properties

Min, max, and curve properties

The properties in this material control how particles behave and change over their lifetime. A lot of them have Min, Max, and Curve values that allow you to fine-tune their behavior. The relationship between these values is this: When a particle is spawned, the property is set with a random value between Min and Max. If Min and Max are the same, the value will always be the same for every particle. If the Curve is also set, the value of the property will be multiplied by the value of the curve at the current point in a particle's lifetime. Use the curve to change a property over the particle lifetime. Very complex behavior can be expressed this way.


The Lifetime Randomness property controls how much randomness to apply to each particle's lifetime. A value of 0 means there is no randomness at all and all particles live for the same amount of time, set by the Lifetime property. A value of 1 means that a particle's lifetime is completely random within the range of [0.0, Lifetime].

Particle flags

The Align Y property aligns each particle's Y-axis with its velocity. Enabling this property is the same as setting the Transform Align property to Y to Velocity.

The Rotate Y property works with the properties in the Angle and Angular Velocity groups to control particle rotation. Rotate Y has to be enabled if you want to apply any rotation to particles. The exception to this is any particle that uses the Standard Material where the Billboard property is set to Particle Billboard. In that case, particles rotate even without Rotate Y enabled.

When the Disable Z property is enabled, particles will not move along the Z-axis. Whether that is going to be the particle system's local Z-axis or the world Z-axis is determined by the Local Coords property.

The Daming as Friction property changes the behavior of damping from a constant deceleration to a deceleration based on speed.


Emission shape

Particles can emit from a single point in space or in a way that they fill out a shape. The Shape property controls that shape. Point is the default value. All particles emit from a single point in the center of the particle system. When set to Sphere or Box, particles emit in a way that they fill out a sphere or a box shape evenly. You have full control over the size of these shapes. Sphere Surface works like Sphere, but instead of filling it out, all particles spawn on the sphere's surface.

Simple particle emission shapes

Particles emitting from a point (left), in a sphere (middle), and in a box (right)

Ring-shaped particle system

A ring-shaped particle system

The Ring emission shape makes particles emit in the shape of a ring. You can control the ring's direction by changing the Ring Axis property. Ring Height controls the thickness of the ring along its axis. Ring Radius and Ring Inner Radius control how wide the ring is and how large the hole in the middle should be. The image shows a particle system with a radius of 2 and an inner radius of 1.5, the axis points along the global Z-axis.

In addition to these relatively simple shapes, you can select the Points or Directed Points option to create highly complex emission shapes. See the Complex emission shapes section for a detailed explanation of how to set these up.


The Angle property controls a particle's starting rotation as described above. In order to have an actual effect on the particle, you have to enable one of two properties: Rotate Y rotates the particle around the particle system's Y-axis. The Billboard property in the Standard Material, if it is set to Particle Billboard, rotates the particle around the axis that points from the particle to the camera.



The Direction property alone is not enough to see any particle movement. Whatever values you set here only take effect once velocity or acceleration properties are set, too.

The Direction property is a vector that controls each particle's direction of movement at the moment it is spawned. A value of (X=1,Y=0,Z=0) would make all particles move sideways along the X-axis. For something like a fountain where particles shoot out up in the air, a value of (X=0,Y=1,Z=0) would be a good starting point.

Different values for particle direction

Different direction values: Y-axis only (left), equal values for X and Y (middle), X and Y with gravity enabled (right)

After setting a direction, you will notice that all particles move in the same direction in a straight line. The Spread property adds some variation and randomness to each particle's direction. The higher the value, the stronger the deviation from the original path. A value of 0 means there is no spread at all while a value of 180 makes particles shoot out in every direction. You could use this for something like pieces of debris during an explosion effect.

Different values for particle spread

No spread (left), 45 degree angle (middle), full 180 degrees (right)

The Flatness property limits the spread along the Y-axis. A value of 0 means there is no limit and a value of 1 will eliminate all particle movement along the Y-axis. The particles will spread out completely "flat".

You won't see any actual movement until you also set some values for the velocity and acceleration properties below, so let's take a look at those next.

Initial velocity

While the Direction property controls a particle's movement direction, the Initial Velocity controls how fast it goes. It's separated into Velocity Min and Velocity Max, both set to 0 by default, which is why you don't see any movement initially. As soon as you set values for either of these properties as described above, the particles begin to move. The direction is multiplied by these values, so you can make particles move in the opposite direction by setting a negative velocity.



The next few property groups work closely together to control particle movement and rotation. Gravity drags particles in the direction it points at, which is straight down at the strength of Earth's gravity by default. Gravity affects all particle movement. If your game uses physics and the world's gravity can change at runtime, you can use this property to keep the game's gravity in sync with particle gravity. A Gravity value of (X=0,Y=0,Z=0) means no particle will ever move at all if none of the other movement properties are set.

Different values for particle gravity

Left: (X=0,Y=-9.8,Z=0), middle: (X=0,Y=9.8,Z=0), right: (X=4,Y=2,Z=0).

Angular velocity

Angular Velocity controls a particle's speed of rotation as described above. You can reverse the direction by using negative numbers for Velocity Min or Velocity Max. Like the Angle property, the rotation will only be visible if the Rotate Y flag is set or the Particle Billboard mode is selected in the Standard Material.


The Damping property has no effect on the angular velocity.

Linear acceleration

A particle's velocity is a constant value: once it's set, it doesn't change and the particle will always move at the same speed. You can use the Linear Accel property to change the speed of movement over a particle's lifetime as described above. Positive values will speed up the particle and make it move faster. Negative values will slow it down until it stops and starts moving in the other direction.

Different values for particle linear acceleration

Negative (top) and positive (bottom) linear acceleration

It's important to keep in mind that when we change acceleration, we're not changing the velocity directly, we're changing the change in velocity. A value of 0 on the acceleration curve does not stop the particle's movement, it stops the change in the particle's movement. Whatever its velocity was at that moment, it will keep moving at that velocity until the acceleration is changed again.

Radial acceleration

The Radial Accel property adds a gravity-like force to all particles, with the origin of that force at the particle system's current location. Negative values make particles move towards the center, like the force of gravity from a planet on objects in its orbit. Positive values make particles move away from the center.

Different values for particle radial acceleration

Negative (left) and positive (right) radial acceleration

Tangential acceleration

Tangents on a circle

Tangents on a circle

This property adds particle acceleration in the direction of the tangent to a circle on the particle system's XZ-plane with the origin at the system's center and a radius the distance between each particle's current location and the system's center projected onto that plane.

Let's unpack that.

A tangent to a circle is a straight line that "touches" the circle in a right angle to the circle's radius at the touch point. A circle on the particle system's XZ-plane is the circle that you see when you look straight down at the particle system from above.

Tangential acceleration from above

Tangential acceleration from above

Tangential Accel is always limited to that plane and never move particles along the system's Y-axis. A particle's location is enough to define such a circle where the distance to the system's center is the radius if we ignore the vector's Y component.

The Tangential Accel property will make particles orbit the particle system's center, but the radius will increase constantly. Viewed from above, particles will move away from the center in a spiral. Negative values reverse the direction.


The Damping property gradually stops all movement. Each frame, a particle's movement is slowed down a little unless the total acceleration is greater than the damping effect. If it isn't, the particle will keep slowing down until it doesn't move at all. The greater the value, the less time it takes to bring particles to a complete halt.

Attractor interaction

If you want the particle system to interact with particle attractors, you have to check the Enabled property. When it is disabled, the particle system ignores all particle attractors.



Scale controls a particle's size as described ab