Pepper.SFX
All Guidance pages

Guidance / Start here

Build Compatibility

What works on which platform. Pepper.SFX is C# on top of Unity’s own audio (AudioSource and AudioMixer) and physics raycasts. Apart from the convolution reverb plugin it has no platform-specific code, so it behaves the same wherever Unity’s audio does. The two exceptions are convolution reverb and Web builds.

At a Glance

Platform What works
Windows, 64-bit (x64) Everything, including convolution reverb
macOS, Linux Everything except convolution reverb
iOS, Android, Meta Quest Everything except convolution reverb
Consoles Everything except convolution reverb
Windows on ARM, 32-bit Windows Everything except convolution reverb
Web Sound plays, but without occlusion muffling, reverb, or propagation filtering. See Web Builds.

The free version has the same platform support as the full version.

Convolution Reverb: 64-bit Windows Only

Convolution reverb (“Use Convolution” on a Reverb Send Bus) runs in a native plugin, SFXConvolutionReverb.dll, built for 64-bit Windows only: the Windows editor and Windows x64 player builds.

Everywhere else (macOS, Linux, mobile, consoles, Web, Windows on ARM and 32-bit Windows):

  • A convolution bus is silent. The dry sound still plays; only that bus’s reverb is missing.
  • Unity may log an error about the missing mixer effect when the game starts.
  • The impulse response isn’t uploaded, and a warning says so.
  • The macOS and Linux editor don’t load the plugin either, so convolution buses are silent there while you work.

Parametric reverb (a Reverb Send Bus without “Use Convolution”) works on every platform except Web. If your game ships anywhere other than 64-bit Windows, use parametric buses.

Web Builds

Unity’s Web platform uses its own, smaller audio engine built on the browser’s audio. On the AudioMixer it supports groups and their volume, and nothing else: no mixer effects and no sends. Audio filter components (Low Pass, Reverb) aren’t on its supported list either. Unity’s manual lists the details on its “Audio in Web” page.

What that means for Pepper.SFX:

Feature On Web
Events, containers, switches, states, RTPCs Work
Buses: volume, mute, solo, ducking Work
Voice pool, virtual voices, priorities, steals Work
Scheduled and beat-synced playback Work
Occlusion Sounds get quieter behind walls, but aren’t muffled. The muffling is a low-pass on mixer effects.
Reverb Send Buses, parametric and convolution No reverb. Sends and reverb are mixer effects.
Ambient propagation Beds still route through zones and portals and follow doors and distance, but aren’t muffled and get no reverb. The emitters use Low Pass and Reverb filter components.
Multiplayer Works if your netcode library’s transport runs in a browser (WebSockets or WebRTC). The SFX netcode layer sends through that transport and has no network code of its own.

The browser adds its own rules:

  • No sound until the player interacts. Browsers block audio until the first click, tap or key press on the page. Sounds posted before that, such as menu music started at scene load, can start late or be missed. Start audio after the first input, or open with a “click to start” screen.
  • No streaming. Browsers can’t stream audio from disk. The Music and Ambience import presets use the Streaming load type, so give those clips a Web override in their import settings (Compressed In Memory).
  • iPhone and iPad. In Safari on iOS, clips set to Decompress On Load can be silent when the device is in Silent Mode. Use Compressed In Memory for Web.

If Web is a main target, design the mix so it doesn’t depend on muffling or reverb, and test in a Web build early.

Mobile

Every feature works. Occlusion raycasts and the per-voice mixer effects cost more CPU on phones than on desktop. If Unity’s Profiler shows audio or physics time climbing, lower Max Real Voices, raise Occlusion Update Interval, or lower Occlusion Ray Count on the AudioManager.

Requirements

  • Unity 6000.0.48f1 or newer.

For API signatures and full type listings, see API_REFERENCE.md.

Pepper.SFX v3.0.0 — Professional Audio Middleware for Unity

From the Pepper.SFX 3.1 guides (USER_GUIDE.md). Something wrong or unclear? Tell me.