Version: 2018.2
public bool prewarm ;

Description

When looping is enabled, this controls whether this particle system will look like it has already simulated for one loop when first becoming visible.

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { private ParticleSystem ps; public bool usePrewarm;

void Start() { ps = GetComponent<ParticleSystem>();

var main = ps.main; main.loop = true; // prewarm only works on looping systems

Restart(); }

void OnGUI() { bool newPrewarm = GUI.Toggle(new Rect(10, 60, 200, 30), usePrewarm, "Use Prewarm");

if (newPrewarm != usePrewarm) { usePrewarm = newPrewarm; Restart(); } }

void Restart() { ps.Stop(); ps.Clear();

var main = ps.main; main.prewarm = usePrewarm;

ps.Play(); } }