FMOD loop regions problem

I have a footsteps event in FMOD where i play my footsteps sound for an FPS game in Unity. I have made a loop region for it so that I can control how fast the footsteps play within FMOD rather than having it be played by code with a timer between footsteps. So I have a loop region that has no trigger conditions and that’s the default loop region that plays the walking footsteps sound. I have added a parameter called PlayerRun with 0 to 1 which is put on a second loop region where the trigger conditions for PlayerRun loop region to get played is when the value reaches 1. I then tried to make a similar parameter for when the player is crouching so it’s again between the values 0 and 1 and this parameter is the trigger condition for a new loop region called PlayerCrouch that only should play when the PlayerCrouch parameter reaches value 1. The problem I’m facing is that when I put the PlayerCrouch valeue up to 1 nothing happens and I suspect it’s because the PlayerCrouch loop region is longer than the default walking region I think. Is this an issue that anyone else has run into? I hope this makes sense.

From what you’ve described, it’s intended behavior. Whether a loop region should loop is evaluated as the loop reaches its end - if the timeline position never reaches the end of the PlayerCrouch loop region because the default loop region loops first, then the PlayerCrouch region cannot cause a loop.

That said, it’s a little hard to envisage what you’re describing and the behavior you’re trying to implement without more information. Can I get you to upload a screenshot of your event and its loop regions?

Here you go:

Based on your image - yes, the PlayerWalk loop region will always loop before the PlayerCrouch loop region can. To fix this, you can add a transition condition to the PlayerWalk region so that it only transitions when the PlayerCrouch parameter does not equal 1.

1 Like

Of course! That makes perfect sense! Now it works like intended.

Thank you so much for the help!

1 Like