# ParticleSystem.MainModule

> Script interface for the MainModule of a Particle System.

## Definition

* **Type:** Struct
* **Namespace:** [UnityEngine](/engine/6000.5/script-reference/unityengine.md)
* **Assembly:** UnityEngine.ParticleSystemModule

```csharp
public struct ParticleSystem.MainModule
```

## Remarks

Additional Resources: [ParticleSystem](/engine/6000.5/script-reference/unityengine/particlesystem.md), [ParticleSystem.main](/engine/6000.5/script-reference/unityengine/particlesystem/main.md).

## Properties

| Property                                                                                                                        | Description                                                                                                                                                                                                                                                                      |
| ------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [cullingMode](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/cullingmode.md)                             | Configure whether the Particle System will still be simulated each frame, when it is offscreen.                                                                                                                                                                                  |
| [customSimulationSpace](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/customsimulationspace.md)         | Simulate particles relative to a custom transform component.                                                                                                                                                                                                                     |
| [duration](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/duration.md)                                   | The duration of the Particle System in seconds.                                                                                                                                                                                                                                  |
| [emitterVelocity](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/emittervelocity.md)                     | The current Particle System velocity.                                                                                                                                                                                                                                            |
| [emitterVelocityMode](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/emittervelocitymode.md)             | Control how the Particle System calculates its velocity, when moving in the world.                                                                                                                                                                                               |
| [flipRotation](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/fliprotation.md)                           | Makes some particles spin in the opposite direction.                                                                                                                                                                                                                             |
| [gravityModifier](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/gravitymodifier.md)                     | A scale that this Particle System applies to gravity, defined either by [Physics.gravity](/engine/6000.5/script-reference/unityengine/physics/gravity.md) or \[Physics2D.gravity]].                                                                                              |
| [gravityModifierMultiplier](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/gravitymodifiermultiplier.md) | Change the gravity multiplier.                                                                                                                                                                                                                                                   |
| [gravitySource](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/gravitysource.md)                         | Specify whether to use the gravity strength from the 2D or 3D physics system.                                                                                                                                                                                                    |
| [loop](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/loop.md)                                           | Specifies whether the Particle System is looping.                                                                                                                                                                                                                                |
| [maxParticles](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/maxparticles.md)                           | The maximum number of particles to emit.                                                                                                                                                                                                                                         |
| [playOnAwake](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/playonawake.md)                             | If set to true, the Particle System automatically begins to play on startup.                                                                                                                                                                                                     |
| [prewarm](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/prewarm.md)                                     | If [\_loop](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/loop.md) is true, when you enable this property, the Particle System looks like it has already simulated for one loop when first becoming visible.                                             |
| [ringBufferLoopRange](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/ringbufferlooprange.md)             | When [ParticleSystem.MainModule.ringBufferMode](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/ringbuffermode.md) is set to loop, this value defines the proportion of the particle life that loops.                                                      |
| [ringBufferMode](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/ringbuffermode.md)                       | Configure the Particle System to not kill its particles when their lifetimes are exceeded.                                                                                                                                                                                       |
| [scalingMode](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/scalingmode.md)                             | Control how the Particle System applies its Transform component to the particles it emits.                                                                                                                                                                                       |
| [simulationSpace](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/simulationspace.md)                     | This selects the space in which to simulate particles. It can be either world or local space.                                                                                                                                                                                    |
| [simulationSpeed](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/simulationspeed.md)                     | Override the default playback speed of the Particle System.                                                                                                                                                                                                                      |
| [startColor](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/startcolor.md)                               | The initial color of particles when the Particle System first spawns them.                                                                                                                                                                                                       |
| [startDelay](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/startdelay.md)                               | Start delay in seconds.                                                                                                                                                                                                                                                          |
| [startDelayMultiplier](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/startdelaymultiplier.md)           | A multiplier for [\_startDelay](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/startdelay.md) in seconds.                                                                                                                                                 |
| [startLifetime](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/startlifetime.md)                         | The total lifetime in seconds that each new particle has.                                                                                                                                                                                                                        |
| [startLifetimeMultiplier](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/startlifetimemultiplier.md)     | A multiplier for [\_startLifetime](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/startlifetime.md).                                                                                                                                                      |
| [startRotation](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/startrotation.md)                         | The initial rotation of particles when the Particle System first spawns them.                                                                                                                                                                                                    |
| [startRotation3D](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/startrotation3d.md)                     | A flag to enable 3D particle rotation.                                                                                                                                                                                                                                           |
| [startRotationMultiplier](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/startrotationmultiplier.md)     | A multiplier for [\_startRotation](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/startrotation.md).                                                                                                                                                      |
| [startRotationX](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/startrotationx.md)                       | The initial rotation of particles around the x-axis when emitted.                                                                                                                                                                                                                |
| [startRotationXMultiplier](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/startrotationxmultiplier.md)   | The initial rotation multiplier of particles around the x-axis when the Particle System first spawns them.                                                                                                                                                                       |
| [startRotationY](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/startrotationy.md)                       | The initial rotation of particles around the y-axis when the Particle System first spawns them.                                                                                                                                                                                  |
| [startRotationYMultiplier](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/startrotationymultiplier.md)   | The initial rotation multiplier of particles around the y-axis when the Particle System first spawns them..                                                                                                                                                                      |
| [startRotationZ](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/startrotationz.md)                       | The initial rotation of particles around the z-axis when the Particle System first spawns them                                                                                                                                                                                   |
| [startRotationZMultiplier](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/startrotationzmultiplier.md)   | The initial rotation multiplier of particles around the z-axis when the Particle System first spawns them.                                                                                                                                                                       |
| [startSize](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/startsize.md)                                 | The initial size of particles when the Particle System first spawns them.                                                                                                                                                                                                        |
| [startSize3D](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/startsize3d.md)                             | A flag to enable specifying particle size individually for each axis.                                                                                                                                                                                                            |
| [startSizeMultiplier](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/startsizemultiplier.md)             | A multiplier for the initial size of particles when the Particle System first spawns them.                                                                                                                                                                                       |
| [startSizeX](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/startsizex.md)                               | The initial size of particles along the x-axis when the Particle System first spawns them.                                                                                                                                                                                       |
| [startSizeXMultiplier](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/startsizexmultiplier.md)           | A multiplier for [\_startSizeX](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/startsizex.md).                                                                                                                                                            |
| [startSizeY](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/startsizey.md)                               | The initial size of particles along the y-axis when the Particle System first spawns them.                                                                                                                                                                                       |
| [startSizeYMultiplier](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/startsizeymultiplier.md)           | A multiplier for [\_startSizeY](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/startsizey.md).                                                                                                                                                            |
| [startSizeZ](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/startsizez.md)                               | The initial size of particles along the z-axis when the Particle System first spawns them.                                                                                                                                                                                       |
| [startSizeZMultiplier](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/startsizezmultiplier.md)           | A multiplier for [\_startSizeZ](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/startsizez.md).                                                                                                                                                            |
| [startSpeed](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/startspeed.md)                               | The initial speed of particles when the Particle System first spawns them.                                                                                                                                                                                                       |
| [startSpeedMultiplier](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/startspeedmultiplier.md)           | A multiplier for [\_startSpeed](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/startspeed.md).                                                                                                                                                            |
| [stopAction](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/stopaction.md)                               | Select whether to Disable or Destroy the GameObject, or to call the [MonoBehaviour.OnParticleSystemStopped()](/engine/6000.5/script-reference/unityengine/monobehaviour/onparticlesystemstopped.md) script Callback, when the Particle System stops and all particles have died. |
| [useUnscaledTime](/engine/6000.5/script-reference/unityengine/particlesystem/mainmodule/useunscaledtime.md)                     | When true, use the unscaled delta time to simulate the Particle System. Otherwise, use the scaled delta time.                                                                                                                                                                    |
