This bit of code needs to have the params populated. e.g Code (CSharp): var emitParams = new ParticleSystem.EmitParams(); emitParams.startSize = size; emitParams.startLifetime = energy; .... etc _skidSmoke.Emit(emitParams, emission); However any values you dont set will be used from the particle system. So it looks like there is an oppurtunity to simplify this script as all you seem to be doing it calculating the values for a manual emission. Its worth just calling Emit(emission) and using the defaults from the particle system. See how it looks.