> For the complete documentation index, see [llms.txt](https://pahutyakv.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://pahutyakv.gitbook.io/docs/mega-extension-pack/particle-system.md).

# Particle System

#### **Main Module**

* `SetStartSize(float size)` — Sets the start size of the particle system.&#x20;
* `SetStartSize(float min, float max)` — Sets a random start size range for the particle system.&#x20;
* `SetStartColor(Color color)` — Sets the initial particle color.&#x20;
* `SetStartSpeed(float speed)` — Sets the initial particle speed.&#x20;
* `SetStartSpeed(float min, float max)` — Sets a random start speed range.&#x20;
* `SetStartLifetime(float lifetime)` — Sets the start lifetime of particles.&#x20;
* `SetStartLifetime(float min, float max)` — Sets a random lifetime range.&#x20;
* `SetGravityModifier(float gravity)` — Adjusts the gravity modifier for particle motion.&#x20;
* `SetLooping(bool loop)` — Enables or disables looping.&#x20;
* `SetSimulationSpace(ParticleSystemSimulationSpace space)` — Sets the simulation space.

***

#### **Emission Module**

* `SetEmissionEnabled(bool enabled)` — Enables or disables the emission module.&#x20;
* `SetEmissionRateOverTime(float rate)` — Sets the emission rate over time.&#x20;
* `SetEmissionRateOverDistance(float rate)` — Sets the emission rate based on distance travelled.

***

#### **Shape Module**

* `SetShapeType(ParticleSystemShapeType type)` — Sets the shape type of the emission volume.&#x20;
* `SetShapeScale(Vector3 scale)` — Sets the scale of the shape module.&#x20;
* `SetShapeRadius(float radius)` — Sets the radius of the shape module.&#x20;
* `SetShapeRadiusMode(ParticleSystemShapeMultiModeValue value)` — Sets how the radius behaves.&#x20;
* `SetShapeRandomDirection(bool randomDirection)` — Enables or disables random particle emission direction.&#x20;
* `SetShapeAngle(float angle)` — Sets the emission cone angle.

***

#### **Collision Module**

* `SetCollisionEnabled(bool enabled)` — Enables or disables collision for particles.&#x20;
* `SetCollisionType(ParticleSystemCollisionType type)` — Sets the collision mode.

***

#### **Renderer Module**

* `SetMaterial(Material material)` — Assigns a material to the particle system renderer.&#x20;
* `SetSortingLayer(string layerName, int order = 0)` — Sets the sorting layer and order.

***

#### **Velocity over Lifetime**

* `SetVelocityOverLifetime(Vector3 velocity)` — Sets a constant velocity over lifetime.&#x20;
* `SetVelocityOverLifetime(float x, float y, float z)` — Sets a constant velocity with separate axis values.

***

#### **Color over Lifetime**

* `SetColorOverLifetime(Gradient gradient)` — Applies a color gradient over particle lifetime.

***

#### **Size over Lifetime**

* `SetSizeOverLifetime(AnimationCurve curve)` — Applies a size curve over particle lifetime.

***

#### **Rotation over Lifetime**

* `SetRotationOverLifetime(float x, float y, float z)` — Sets rotational values over lifetime for all axes.

***

#### **Noise Module**

* `EnableNoise(bool enabled)` — Enables or disables the noise module.&#x20;
* `SetNoiseStrength(float strength)` — Sets the turbulence strength of the noise module.
