Version: 2020.2
  • C#


struct in UnityEngine


Implemented in:UnityEngine.ParticleSystemModule

Suggest a change


Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.


Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.



Switch to Manual


Access the ParticleSystem Lights Module.

This module allows you to attach real-time Lights to a percentage of your particles.

The Lights Module is a simple and powerful module that allows particles to cast light onto their environment easily. Lights can inherit properties from the particles they are attached to, such as color and size. Point and Spot Lights are supported, including shadow casting and Light cookies.

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { public Light myLight;

void Start() { ParticleSystem ps = GetComponent<ParticleSystem>(); var lights = ps.lights; lights.enabled = true; lights.ratio = 0.5f; lights.light = myLight; } }


alphaAffectsIntensityToggle whether the system multiplies the particle alpha by the light intensity when it computes the final light intensity.
enabledSpecifies whether the LightsModule is enabled or disabled.
intensityDefine a curve to apply custom intensity scaling to particle Lights.
intensityMultiplierIntensity multiplier.
lightSelect what Light Prefab you want to base your particle lights on.
maxLightsSet a limit on how many Lights this Module can create.
rangeDefine a curve to apply custom range scaling to particle Lights.
rangeMultiplierRange multiplier.
ratioChoose what proportion of particles receive a dynamic light.
sizeAffectsRangeToggle whether the system multiplies the particle size by the light range to determine the final light range.
useParticleColorToggle whether the particle lights multiply their color by the particle color.
useRandomDistributionRandomly assign Lights to new particles based on ParticleSystem.LightsModule.ratio.