# Playing looped events in Update method results in re triggering

**URL:** <https://qa.fmod.com/t/playing-looped-events-in-update-method-results-in-re-triggering/18539>\
**Category:** Unity\
**Created:** [March 18, 2022, 12:58pm UTC](https://qa.fmod.com/t/playing-looped-events-in-update-method-results-in-re-triggering/18539 "2022-03-18T12:58:18Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![swanphil](https://avatars.discourse-cdn.com/v4/letter/s/ed8c4c/32.png) [@swanphil](https://qa.fmod.com/u/swanphil)\
**Post date:** [March 18, 2022, 12:58pm UTC](https://qa.fmod.com/t/playing-looped-events-in-update-method-results-in-re-triggering/18539/1 "2022-03-18T12:58:18Z")

</div>

Hi,

I’ve run into a problem with playing a looped FMOD event.

Basically I want to trigger a looping event once the player has collected a certain number of items.

My pickup manager and “Can proceed” bool live in my Player Movement script, which is passed into this LevelExitSound script.

The ExitIsOpen function checks whether canProceed is true and then triggers the event, but as this function is called in the Update function, it overloads.

Adding the Playback State bool has stopped the sound retriggering but now it doesn’t trigger at all. Any suggestions?

 ![Screenshot 2022-03-18 at 12.57.25](https://canada1.discourse-cdn.com/flex036/uploads/fmod/original/2X/7/788f99c5daed6ab73f7e2725581008f95bc25d72.jpeg)

Thanks!

---

<div class="post-metadata">

**Author:** ![jeff\_fmod](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/jeff_fmod/32/1766_2.png) [@jeff\_fmod](https://qa.fmod.com/u/jeff_fmod)\
**Post date:** [March 22, 2022, 1:25am UTC](https://qa.fmod.com/t/playing-looped-events-in-update-method-results-in-re-triggering/18539/2 "2022-03-22T01:25:10Z")

</div>

The event’s playback state needs to be polled with [`EventInstance.getPlaybackState`](https://fmod.com/resources/documentation-api?version=2.02&page=studio-api-eventinstance.html#studio_eventinstance_getplaybackstate).  
Something like this should work.

```auto
void Start()
{
    pM = player.GetComponent<PlayerMovement>();
    ExitOpen = FMODUnity.RuntimeManager.CreateInstance("event:/Environment/Exit"); // Create event but don't start it so we can poll it's playback state
}

void Update()
{
    ExistIsOpen();
}

void ExitIsOpen()
{
    ExitOpen.getPlaybackState(pbState); // Poll playback state

    if(mP.canProceed && pbState != FMOD.Studio.PLAYBACK_STATE.PLAYING)
    {
        ExitOpen.set3DAttributes(FMODUnity.RuntimeUtiles.To3DAttributes(gameObject));
        ExitOpen.start();
    }
}

```

---

<div class="post-metadata">

**Author:** ![swanphil](https://avatars.discourse-cdn.com/v4/letter/s/ed8c4c/32.png) [@swanphil](https://qa.fmod.com/u/swanphil)\
**Post date:** [March 23, 2022, 1:45pm UTC](https://qa.fmod.com/t/playing-looped-events-in-update-method-results-in-re-triggering/18539/3 "2022-03-23T13:45:35Z")

</div>

Thanks Jeff! Worked a treat.
