Version: 2018.2


OnParticleSystemStopped is called when all particles in the system have died, and no new particles will be born. New particles cease to be created either after Stop is called, or when the duration property of a non-looping system has been exceeded.

This can be used to notify a script of when a Particle System has finished. In order to receive the callback, you must set the ParticleSystem.MainModule.stopAction property to Callback.

using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class StoppedScript : MonoBehaviour { void Start() { var main = GetComponent<ParticleSystem>().main; main.stopAction = ParticleSystemStopAction.Callback; }

void OnParticleSystemStopped() { Debug.Log("System has stopped!"); } }