Version

menu_open
Wwise Unity Integration Documentation
Mac/iOS/tvOS-Specific Information

Building for iOS

To test your Unity application on an iOS device, you need to build your app and deploy it to the device. When you execute Build or Build and Run in the Unity Editor, Unity generates an Xcode project based on the Unity scripts.

UNITY_PROJECT_ROOT/Assets/Plugins/iOS

Unity does not yet support thumb instructions. Therefore, thumb instructions are disabled in the Xcode project.

Building for release

The Wwise Integration library, libAkUnitySoundEngine.a, normally contains all debug symbols, which makes the library very big. Make sure you strip the debug symbols by specifying the Stripping Level option in the Other Settings section of the (iOS) Player Settings. The integration usually adds between one and two MB to your game.

Audio Session Interruptions on iOS

The Unity Integration supports three audio session categories.

  • Solo Ambient (AkAudioSessionCategorySoloAmbient) (Default): When you use this category, audio from other apps is silenced. Your app's audio is also silenced by screen locking and by the Silent switch (called the Ring/Silent switch on the iPhone).
  • Ambient (AkAudioSessionCategoryAmbient): AmbientSound allows your app's audio to be mixed with other apps. Any audio interruptions, such as an incoming phone call, or playing music with the Music app using a remote control, will be mixed with your app's audio by default. However, you can specify route sounds and music to a special bus so that they get muted when user music plays and unmuted when user music stops. The muting and unmuting are done by the sound engine internally. You can still define the BGM (BackGround Music) callback to respond to user music behaviors for other useful tasks, such as updating a UI element to notify users of the user music playback status. Use AkCallbackManager.SetBGMCallback() to register that callback.
  • Play and Record (AkAudioSessionCategoryPlayAndRecord): This is used to enable playback and recording within the app where audio is of primary importance, such as a karaoke app, an audio streaming app, or an audio recording app.

Playing user music using the remote-control will trigger an interruption (under the SoloAmbient category) or the BGM event (under the Ambient category), however, stopping user music using the remote-control will trigger a BGM event under all categories. Again, the sound engine takes care of all the audio pipeline tasks regarding such events. The app can register a BGM callback to respond to these events if extra work is needed.

Note:The background and foreground switching is handled internally on iOS, no need to call Suspend and WakeupFromSuspend manually on this platform.

Refer to the Understanding Audio Sessions section in the Wwise SDK documentation for more information about these options.

See also

Was this page helpful?

Need Support?

Questions? Problems? Need more info? Contact us, and we can help!

Visit our Support page

Tell us about your project. We're here to help.

Register your project and we'll help you get started with no strings attached!

Get started with Wwise