Version: 2018.4
  • 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.

The Lights 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 particle alpha gets multiplied by the light intensity, when computing the final light intensity.
enabledEnable/disable the Lights module.
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 will receive a dynamic light.
sizeAffectsRangeToggle where the particle size will be multiplied by the light range, to determine the final light range.
useParticleColorToggle whether the particle lights will have their color multiplied by the particle color.
useRandomDistributionRandomly assign lights to new particles based on ParticleSystem.LightsModule.ratio.