# prewarm

> If _loop is true, when you enable this property, the Particle System looks like it has already simulated for one loop when first becoming visible.

## Definition

* **Type:** Property
* **Namespace:** [UnityEngine](/engine/6000.7/script-reference/unityengine.md)
* **Assembly:** UnityEngine.ParticleSystemModule

```csharp
public bool prewarm { get; set; }
```

### Examples

```csharp
using UnityEngine;
using System.Collections;

[RequireComponent(typeof(ParticleSystem))]
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();
    }
}
```
