Magnet Regions | Unity behavior not the same as FMOD editor

I have a project with 5 magnet regions and transitions. In FMOD the behavior is exactly as I need it to sound in the game. When I modify the parameter the track fades to the correct musical queue. At the end of the magnet region the proper magnet region will replay what the parameter dictates.

In Unity, I have observed the following behavior:

  • Export the project to Unity with just the magnet regions and no loop regions. The whole track plays front to back. Modifying the parameter has no effect.
  • Export the project to Unity and add loop regions under all the magnet regions. This is better, but the entire portion of the loop region will play before the track will transition to the correct magnet region. If I wanted that behavior I would just use loop regions.

In Unity In have tried multiple methods to access the parameters including local, global, directly triggering the TriggerParameters() method, even using Update() to manipulate the param in realtime. I am confident I have not made scripting mistakes.

I am new to FMOD. I have played around for a couple days and watched a handful of tutorials. It seems straightforward, but this is discouraging. Am I missing some fundamental concept? Why does it behave as expected in the FMOD studio but not in Unity?

Appreciate any help!

Do you mean it plays the whole track as if there were no magnet region at all? How did you set the conditionals on each magnet (screenshot welcome)?

Maybe should you use Live Update to check which parameter values are passed from Unity to FMOD. Are you using the right plugin version, in line with your FMOD Studio version?

Hi Alcibiade,

You are correct, apologies for not being more explicit. The whole track plays as if there were no magnet regions.

The conditionals are pictured below. 0.0f - 1.0f for region 1, 1.0f - 2.0f for region 2, etc. In the studio it does what I need. Though it does continually transition if the float is an even value (like 2.0), but that would be expected, and when the float changes the track snaps to the correct region.

I have tried changing the param from local to global, also referenced the docs (25.53).


Well, as usual, it was something obvious.

I have solved this issue by checking my versions and realizing they were mismatched. Updated the project integration and studio to 2.01.09 and everything works as expected.

Always check the version numbers ¯_(ツ)_/¯

1 Like