Skip to content

WorldAudio Limitations

Guribo edited this page Jul 11, 2026 · 5 revisions

WorldAudio Limitations

Important limitations of the WorldAudio emitter management system and why they exist.

AVPro Incompatibility

The WorldAudio system only works with Unity-based video players (e.g., Unity VideoPlayer, VRC Unity Video Player). It does not work with AVPro Video Player or other third-party video players.

Why: WorldAudio manages AudioSource components directly. AVPro bypasses Unity's audio pipeline and outputs audio through its own system, making it invisible to WorldAudio.

Workaround: Use Unity-based video players. For AVPro, use a separate audio source component on the same GameObject and configure it manually. See WorldAudio Limits Reference for details.

AudioSources Cannot Be Directly Controlled

Once an AudioSource is registered with WorldAudio, you should not control it directly from your code. WorldAudio manages play/pause/culling state based on importance and privacy.

Why: WorldAudio calculates importance scores and decides which AudioSources should be active. Directly setting AudioSource.Play() or AudioSource.Stop() conflicts with WorldAudio's management.

Workaround: Use AudioSourceStateController (on the same GameObject) to control play/pause/stop. For manual control, do not register the AudioSource with WorldAudio. See WorldAudio Limits Reference for details.

Only One Listener

The WorldAudio system assumes exactly one AudioListener in the scene. Multiple listeners are not supported.

Why: Importance calculations and occlusion raycasts are relative to a single listener position. Multiple listeners would require duplicating these calculations.

Workaround: Use a single camera with an AudioListener. Do not add AudioListener to other cameras. See WorldAudio Limits Reference for details.

Platform Audio Limits

VRChat imposes platform limits on active audio sources. See WorldAudio Limits Reference for the full table and how WorldAudio manages these limits.

See Also

Clone this wiki locally