Newbie to scripting FMOD in unity. scripting different footstep sounds using parameters

I’ve been trying to figure out how to play simple footstep sounds in a 2D game without the use of a raycast for detecting the ground.

Instead I’m using a simple OnTriggerEnter2D and checking the tag of the trigger and setting a material value based on that trigger. which in turn should have the playback change the parameter value and play the sound of walking on stone.

However my game only plays the sound of grass and never changes. can anyone point out what I’m missing or any useful material or videos that better explain how to use FMOD, feeling completely lost here

[Header("FMOD Settings")]
[SerializeField] [FMODUnity.EventRef] string footstepsEventPath;
[SerializeField] string materialParameterName;
void Update()
{
     PlayFootsteps();
}
void PlayFootsteps()
{
    if (isPlayerMoving == true)
    {
        FMOD.Studio.EventInstance Footstep = FMODUnity.RuntimeManager.CreateInstance(footstepsEventPath);
        FMODUnity.RuntimeManager.AttachInstanceToGameObject(Footstep, transform, GetComponent<Rigidbody2D>());
        Footstep.setParameterByName(materialParameterName, f_MaterialValue);
        Footstep.start();
        Footstep.release();
    }
}