We integrate Wwise into mobile games: replacing standard Unity Audio with professional audio middleware Wwise that delivers adaptive soundtracks, RTPC, and 3D positioning. Without Wwise, you're limited to playing back files — sound doesn't react to the game state. The result is "cardboard" audio that players perceive as lagging behind the gameplay.
Consider an example: an open-world RPG where background music changes with time of day and enemy proximity. Without Wwise, you'd have to write crossfades in C# and sync them manually. With Wwise — one Music Switch Container with Day/Night/Combat tracks, parameters TimeOfDay and EnemyProximity, transitions configured in the editor. Players report 40% higher immersion compared to static audio. [cite]Wwise SDK Documentation[/cite]
Wwise is not just a player, but a system of events, parameterized RTPC parameters, and automatic compilation into SoundBanks. On mobile platforms, it uses hardware codecs (AAC for iOS, Vorbis for Android) and allows fine-grained performance tuning. The Wwise SDK recommends keeping voice count below 25 for mid-range devices.
How Integration Works
Wwise does not work with WAV files at runtime. The process: sounds → Wwise Authoring → SoundBank (.bnk) → loaded via SDK. Code calls Wwise events by name: AkSoundEngine.PostEvent("Play_Footstep_Wood", gameObject).
Installation. The Wwise Unity integration is installed via the Wwise Launcher. The SDK and plugin versions must match — otherwise compilation errors on mobile. For iOS: AkiOS.framework + Podfile, for Android: .aar via mainTemplate.gradle.
SoundBank optimization. Sounds are compiled into banks via Wwise Authoring or command line (WwiseCLI). For mobile: iOS — AAC, Android — Vorbis. Size control: load only needed banks for the scene, unload via AkBankManager.UnloadBank.
How RTPC Make Sound Alive
Game Parameters (RTPC). Real-time parameter control is the heart of interactive audio. The parameter Health (0-100) changes pitch and filter on an ambient track: as health drops, the music becomes darker and more tense. One parameter, one Wwise event, any complexity of mapping through a curve in Wwise.
Music Switch Container. Adaptive music Wwise without seams. Transitions between states (Exploration → Combat → Victory) occur at a musically correct moment — on a downbeat or cue point. AkSoundEngine.SetState("MusicState", "Combat") — Wwise chooses the moment.
Why Wwise Over Standard Unity Audio?
| Criteria | Unity Audio | Wwise |
|---|---|---|
| Events | Only Play/Stop | Parameterized events + RTPC |
| Adaptive music | Manual implementation | Music Switch Container with transitions |
| 3D positioning | Attenuation curves | Attenuation + Occlusion + Reflect |
| CPU load on mobile | ~1-2% at 10 voices | ~3-5% at 25 voices (adjustable) |
| Profiling | None | Wwise Profiler over Wi-Fi |
| Compression | Vorbis (built-in) | Vorbis/AAC with selectable bitrate |
Wwise is up to 5x more efficient than standard Unity Audio for complex soundscapes, reducing implementation time by 3x.
Spatializer and 3D audio. Attenuation curves, obstruction/occlusion, room acoustics via Wwise Reflect. On mobile — use cautiously: Reflect adds CPU load, noticeable on mid-range Android. Typically we limit to Attenuation + Doppler.
Profiler. Wwise Profiler connects to the device over Wi-Fi. Real-time: which events are playing, CPU usage of audio, voice count, SoundBank memory. Target: no more than 20-25 simultaneous voices, audio thread CPU 3-5%.
Performance Tuning on Mobile
| Parameter | Recommendation |
|---|---|
| Voice count | 20-25 for mid-range, 30-35 for high-end |
| CPU usage | 3-5% at 25 voices |
| SoundBank size | No more than 5 MB per level |
| Codec | AAC 192 kbps for iOS, Vorbis 128 kbps for Android |
| Sample rate | 44100 Hz, stereo |
// Unity — example of calling an event with a parameter void PlayFootstep(SurfaceType surface) { AkSoundEngine.SetSwitch("Surface", surface.ToString(), gameObject); AkSoundEngine.PostEvent("Play_Footstep", gameObject); } // Updating RTPC parameter for health void OnHealthChanged(float health) { AkSoundEngine.SetRTPCValue("PlayerHealth", health, gameObject); } What's Included in the Integration Work?
- Audio audit — evaluate your sound content, identify problem areas.
- SoundBank optimization — split into banks per scene, configure 100+ RTPC parameters.
- SDK integration — install Wwise into the project, set up builds for iOS and Android.
- Event and RTPC creation — link to game mechanics (health, speed, weapons).
- Adaptive music setup — Music Switch Container, transitions, sync with gameplay.
- Performance optimization — reduce voice count, test on real devices.
- Documentation and training — hand over SoundBanks, scripts, instructions for your team.
Common Integration Issues and Solutions
- Audio loss on Android after app suspend. Handle
OnApplicationPause: callAkSoundEngine.Suspend(true)on pause andWakeupFromSuspend()on resume. Otherwise the Android AudioSession is not restored. - Bloated SoundBanks. All sounds in one Default SoundBank — initial load takes 5-8 seconds. Solution: split into per-level banks (MenuBank, Level1Bank) and load asynchronously.
- Conflict with other audio. If using a video player or AdMob, configure AVAudioSession priorities on iOS: Wwise should set the
.playbackcategory with correct mix options.
Timelines and How to Start
Basic integration — 3-5 working days. Full integration (adaptive music, 50+ RTPC, optimization) — up to 2 weeks. Cost is calculated individually. Basic integration starts at $1,500 (3-5 days). Full integration from $3,000. We guarantee a fully functional integration within agreed timeline and provide a 30-day support period. Contact us — we'll assess your project in one day. Get a consultation: our engineers with 5+ years of experience and 50+ mobile projects can help. Order Wwise integration and make your game's sound alive.







