Quick answer: When returning a Particle System to the pool, call Stop(true, ParticleSystemStopBehavior.StopEmittingAndClear) and Clear(true) to flush trail buffers. On reuse, Clear(true) then Play(true) for a fresh trail.

Here is how to fix Unity pooled Particle System effects whose trail tails clip or vanish unexpectedly when the pool reuses an instance. Trail buffers persist between activations; without explicit clearing, residual segments interfere with the next emit.

The Symptom

Bullet trail prefab in a pool. First spawn looks correct. Second spawn from the same pooled instance shows a clipped trail or no trail at all for the first half of its life.

What Causes This

Trail buffer persistence. Trail vertices remain in GPU buffer between activations.

Stop/Clear order. Stop alone leaves trails to fade naturally; Clear without Stop produces immediate cuts.

Sub-emitter trails. Sub-emitter trails compound the issue.

The Fix

Step 1: Cleanly stop on return to pool.

using UnityEngine;

public class PooledVfx : MonoBehaviour
{
    private ParticleSystem ps;
    void Awake() { ps = GetComponent<ParticleSystem>(); }

    public void ReturnToPool()
    {
        ps.Stop(true, ParticleSystemStopBehavior.StopEmittingAndClear);
        ps.Clear(true);
        gameObject.SetActive(false);
    }

    public void SpawnAt(Vector3 pos)
    {
        transform.position = pos;
        gameObject.SetActive(true);
        ps.Clear(true);    // flush stale buffer
        ps.Play(true);     // fresh start
    }
}

Pass true to act on children (sub-emitters, child PS).

Step 2: For Trail Renderer (separate component), call Clear.

var trail = GetComponent<TrailRenderer>();
trail.Clear();   // flushes trail vertices

Step 3: Position before activation. Set transform.position before SetActive(true). Otherwise the first frame’s trail starts at the previous position, drawing a smear from old to new.

Step 4: Use particle pooling helpers. Unity 2021+ offers ObjectPool<T> in UnityEngine.Pool. Combine with the Reset method for centralized handling.

Step 5: Test rapid reuse. Spawn the same pooled effect 10 times in a second from different positions. Trails should each look fresh, no smearing or stale segments.

“Stop + Clear before disable. Clear + Play after activate. Position first. Trails reset cleanly.”

Related Issues

For Stop Action issues, see Stop Action Not Disabling. For trail rendering through walls, see Trail Through Walls.

Stop + Clear pre-disable. Clear + Play post-enable. Trails do not smear.