How to temporarily stop using FMOD in the game?

We are using FMOD in Unity’s mobile game project, we want to detect when the user has been inactive for a long time, temporarily stop FMOD, and wake up FMOD when the user restarts the operation. Is there a way to achieve this?

I see that CoreSystem has close() and init() apis, can I use them for this purpose?

The API call you’re looking for are likely System::mixerSuspend and System::mixerResume. It’s worth noting that you should avoid making FMOD API callbs between suspending and resuming, as you may run the risk of causing a deadlock.

1 Like

Is it possible to reduce the hardware performance overhead of FMOD when pausing in this way?

I ignored the description in the documentation, which can really reduce the overhead of hardware performance:

Used on mobile platforms when entering a backgrounded state to reduce CPU to 0%.

1 Like