AudioBounce

GPU-accelerated spatial audio occlusion SDK for Unity. Ray-traced audio propagation through voxelized scene geometry.

v0.2.0 — early development
9Pipeline Stages
0-8Bounce Depth
30HzUpdate Rate
v0.2.0Version

Meta XR Audio Replacement

Meta discontinued their XR Audio SDK. AudioBounce replaces it with an open, ray-traced occlusion pipeline. XR is optional — targets desktop, Android, and XR platforms equally.

Features

A complete GPU-driven audio occlusion pipeline, from voxelization to gain output.

CPU Triangle Voxelization

Möller SAT triangle-box overlap test converts mesh geometry into a flat 3D voxel grid with material IDs.

GPU DDA Ray Tracing

Amanatides & Woo traversal with slab-method AABB entry. Rays march through the voxel grid on the GPU with hit normal output.

Fibonacci Hemisphere Sampling

Full-sphere ray distribution using Fibonacci spiral placement. Uniform coverage from every audio source position.

Multi-Bounce Reflections

Configurable 0–8 bounce depth. Reflected rays propagate via DDA step-axis normals for realistic sound paths around obstacles.

Bounce-Aware Occlusion

Walks bounce chains and accumulates energy from segments passing near the listener, with geometric decay per bounce.

Async GPU Readback

Non-blocking readback with round-robin source processing. Runs at a configurable rate (default 30Hz) without stalling the main thread.

Audio-Thread Gain

OnAudioFilterRead applies occlusion via volatile float with a 15% minimum floor. Lock-free, zero-allocation audio path.

GPU Debug Visualization

Multi-segment bounce rays rendered with bounce-level coloring. Red/green through orange, yellow, and cyan per bounce depth.

How It Works

Ray-traced audio occlusion in six stages, from scene geometry to speaker gain.

Voxelize

Scene meshes are voxelized on the CPU using Möller SAT triangle-box overlap. Each cell stores a material ID.

Cast Rays

Fibonacci-sphere distributed rays are dispatched from each audio source. GPU compute traces them through the voxel grid via DDA.

Bounce

On voxel hit, rays reflect using step-axis normals and continue tracing. Up to 8 bounces per ray, all on the GPU.

Accumulate

Each ray's bounce chain is walked. Segments passing near the listener contribute energy with geometric decay per bounce.

Readback

AsyncGPUReadback transfers results without stalling. Round-robin scheduling processes sources at 30Hz.

Apply Gain

Occlusion values reach the audio thread via volatile floats. OnAudioFilterRead scales the audio buffer per-sample.

Tech Stack

Built on Unity's compute pipeline with zero external dependencies.

Unity 6 LTS URP Compute Shaders HLSL C# AsyncGPUReadback

Install

Unity Asset Store

Coming Soon

AudioBounce will be available on the Unity Asset Store once it reaches a stable release.

Early Access

Request Access

Interested in trying AudioBounce now? Reach out on Discord for early access.