Lifecycle (Unity)
Audio: manual control via FRVRSDK
Section titled “Audio: manual control via FRVRSDK”For audio you may want to mute/unmute under your control (e.g. when the platform asks the game to mute, or when you want to silence audio while an ad shows). The SDK exposes a small audio API on the top-level FRVRSDK class — it manipulates Unity’s AudioListener.volume for you:
These calls don’t fire automatically — your code (or the channel host via SendMessage to the SDK singleton’s MuteVolumeInstance / UnmuteVolumeInstance / SetVolumeInstance) decides when to mute.
What you do still care about
Section titled “What you do still care about”- Audio imports. Mute compliance on iOS requires every AudioClip imported with specific settings — see Unity quickstart § 3. Audio. This is the one lifecycle‑adjacent thing that breaks if you skip it.
- Run in background must be OFF.
Project Settings → Player → Resolution and Presentation. If it’s on, Unity will keep running under an ad overlay — double‑consuming audio channels and CPU, and breaking the focus-driven pause described above. - Mute audio yourself around ads. Because the wrapper does not auto-mute, you may want to call
FRVRSDK.MuteVolume()in your interstitial / rewardonStartandUnmuteVolume()inonFinish/onError, especially if “Run in background” can’t be guaranteed off on every channel build.
If you need to react to pause/resume in game code
Section titled “If you need to react to pause/resume in game code”Use Unity’s built‑in hooks — they’ll fire because the wrapper is using the same signals:
Don’t try to proxy these to FRVRSDK.Lifecycle.* — there’s no such API in the Unity wrapper, and it’d duplicate work the wrapper is already doing.