Starting/Stopping a Particle Effect via Script

I know this has been asked a million times but I’m not sure why my simple script is not working.

I have the following:

public ParticlePlay : MonoBehavior
{
    public ParticleSystem system;

    public void Emit()
    {
        Debug.Log("Emitting");
        system.Play();
        // I've also tried system.Emit(1)
    }

    public void StopEmitting()
    {
        Debug.Log("Stopping");
        system.Stop();
    }
}

This is super simple. I am using 2018.4.x and Emit and StopEmitting are being called through a UnityEvent. Although that shouldn’t matter. Both of the debug log statements are being printed out I just get no effects.

Is timescale currently at 0 when you are running this?

Nope

Does the system emit particles in and of itself (i.e. the emitter settings)? You may be better off using system.Emit().

Yeah. When I turn on Play on Awake it runs just fine