# OnParticleUpdateJobScheduled()

> OnParticleUpdateJobScheduled is called when a Particle System's built-in update job has been scheduled.

## Definition

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

```csharp
public void OnParticleUpdateJobScheduled()
```

### Remarks

This can be used to attach custom managed jobs to run after the default particle update.

```csharp
using UnityEngine;
using UnityEngine.ParticleSystemJobs;

public class JobScript : MonoBehaviour
{
    void OnParticleUpdateJobScheduled()
    {
        ParticleSystem ps = GetComponent<ParticleSystem>();
        new UpdateParticlesJob { m_DeltaTime = Time.deltaTime }.Schedule(ps);
    }

    struct UpdateParticlesJob : IJobParticleSystem
    {
        public float m_DeltaTime;

        public void Execute(ParticleSystemJobData particles)
        {
            var positionsY = particles.positions.x;

            for (int i = 0; i < particles.count; i++)
            {
                positionsY[i] += 3.0f * m_DeltaTime;
            }
        }
    }
}
```

In order to retrieve detailed information about all the collisions caused by the [ParticleSystem](/engine/6000.7/script-reference/unityengine/particlesystem.md), [ParticlePhysicsExtensions.GetTriggerParticles](/engine/6000.7/script-reference/unityengine/particlephysicsextensions/gettriggerparticles.md) must be used to retrieve the array of [ParticleSystem.Particle](/engine/6000.7/script-reference/unityengine/particlesystem/particle.md).
