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?
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.
Of course! That makes perfect sense! Now it works like intended.
Thank you so much for the help!