Audio Trace
- Digital200 JPY

Audio Trace brings realistic wall occlusion to your VRChat world. Player voices and world audio sources (music, ambience, radios) are dynamically muffled or silenced when walls stand between the listener and the source. ## ✨ Features ### Player Voice Occlusion - 5-ray multi-raycast cone detects walls even through small gaps between colliders - Body offset prevents false positives when standing against a wall - Smooth transitions (exponential lerp, adjustable transition time) - Anti-flickering progressive score system ### World Audio Source Occlusion - Attach to any AudioSource — volume + lowpass cutoff lerp smoothly between direct/occluded states - Auto-detects AudioSource and AudioLowPassFilter components - Same multi-raycast system as voice occlusion ### Special Audio Zones - Soundproof booths (isolate from everyone) - DJ boost areas (custom gain/near/far) ### Debug Tools - Toggleable ray visualization (green = direct, red = occluded) - Optional debug UI with player count + ray state toggle ## 🧩 4 Scripts Included | Script | Role | |---|---| | `VoiceOcclusionManager` | Player voice occlusion (one instance per world) | | `AudioSourceOcclusion` | World audio occlusion (one per audio source) | | `SpecialAudioZone` | Trigger-based special zones | | `AudioTraceDebugUI` | Optional debug overlay | ## ⚙️ Quick Setup 1. Create an "Occlusion" layer in Unity 2. Put all walls/doors on that layer 3. Add `VoiceOcclusionManager` to an empty GameObject — set wallMask 4. Add `AudioSourceOcclusion` + `AudioLowPassFilter` to each world audio source That's it. Each client calculates occlusion locally — no network sync, no lag. ## 📝 Settings Overview **VoiceOcclusionManager** - `coneRadius` (0.15m) — spread of the 4 peripheral rays - `minHits` (2/5) — how many rays must hit to consider occluded - `smoothFrames` (4) — consecutive hits before state changes - `transitionTime` (0.2s) — fade duration between direct↔occluded - `occludeAvatarAudio` (true) — also mute avatar sounds through walls - direct: gain=15, near=0, far=25 - occluded: gain=0, near=0, far=0 (silent) **AudioSourceOcclusion** - direct: volume=1, lowpass=22000Hz - occluded: volume=0.15, lowpass=700Hz ## 📦 Requirements - VRChat Worlds SDK 3.x - UdonSharp - Unity 2022.3+
Terms of Service
# Terms of Service — Audio Trace ## License By purchasing Audio Trace, you receive a **single-user license** to use this asset in your own VRChat worlds. ## Allowed - Use in any number of your own VRChat worlds (public, private, or group) - Modify the scripts for your own use - Use in commercial VRChat worlds (worlds that generate revenue via donations, group subscriptions, etc.) ## Not Allowed - Redistribute, resell, or share the original or modified scripts - Upload the scripts as a standalone product to any marketplace (BOOTH, Gumroad, Patreon, etc.) - Include the scripts in a "kit" or "asset pack" sold to others - Remove credit or claim the code as your own ## Disclaimer This asset is provided "as is" without warranty of any kind. The creator is not responsible for any issues arising from the use of this asset in your projects. VRChat SDK updates may require updates to the asset; compatibility is not guaranteed indefinitely. ## Contact For support or questions, reach out via the BOOTH shop page. --- *© 2026 Audio Trace. All rights reserved.*

