• Hi Guest!

    We are extremely excited to announce the release of our first Beta for VaM2, the next generation of Virt-A-Mate which is currently in development.
    To participate in the Beta, a subscription to the Entertainer or Creator Tier is required. Once subscribed, download instructions can be found here.

    Click here for information and guides regarding the VaM2 beta. Join our Discord server for more announcements and community discussion about VaM2.
AudioRouter is a flexible, user-friendly audio control plugin for Virt-A-Mate that allows you to load, organize, and route external audio clips (MP3, WAV, OGG) directly to a Person's HeadAudioSource or AudioSource in your scene. It can be added on an Empty Atom or a Person Atom.

This allows you to easily drag and drop your MP3/WAV/OGG audio files or folders into your VAM/Custom/Sounds folder, and just load them into any VAM scene as background music or HeadAudioSource audio for lipsync playback.

Full trigger mapping instructions are below on how to create your own custom button triggers for an audio player with play, pause, stop, play previous, play next, loop, and play random or shuffle. You can use this with something like VamStoryActions, CanvasButton, or on VAM's default Triggers/UIButton to create your own custom audio player in your scene.

AudioRouter_Preview_1.jpg


Key Features

Audio Playback Modes – Choose from a variety of playback styles: PlayRandom, PlayNow, PlayIfClear, Loop, and more.
Folder & File Support – Load an entire folder or individual audio files using Virt-A-Mate's native file browser.
Autoplay Options – Supports Shuffle or Next play modes.
Delay Customization – Set a configurable delay (1–60 seconds) between automatically played sounds.
Avoid Repetition – Smart shuffle logic prevents repeats until all available sounds have played once.
Target Routing – Route audio to any AudioSource in the scene, including a person's HeadAudioSource.
Trigger-Friendly – PlaySpecific, PlayPrevious, PlayNext, Stop, PlayRandom, Loop. (instructions below)
Preset System – Save Preset and Load Preset option that restores your Sound list and settings.
UI Sound List with Removal – Each loaded sound has its own entry and [X] button for quick removal.

--

Important Note 1
Certain autoplay + playback mode combinations behave differently depending on how layering is handled.

Autoplay: Shuffle
Mode: PlayNow
→ Sounds will play immediately, even overlapping other plugins like Vammoan.

Autoplay: Shuffle
Mode: PlayIfClear
→ Sounds will wait for audio to clear before playing, which is useful for layering dialogue or responses.

Important Note 2
The [+ Folder] button opens a folder directly (opens blank) and loads all supported audio files in it.
→ To browse and select individual files, use the [+ File] button instead.

Important Note 3
Plugins can add audio by referencing files, but they don’t have access to remove or modify the Scene Audio list directly as far as I am aware of. This limitation exists for stability and security — preventing plugins from unintentionally breaking shared audio references used by other atoms, plugins, or Timeline clips. If you're including this plugin in a scene you plan to release:

• Deleting audio from the list in AudioRouter does not remove it from the Scene Audio tab.
• Scene Audio items may still be packaged as dependencies unless you manually remove them.
• Always check the Scene Audio tab and clear unused entries before saving or packaging your scene.

For casual use, this is not a concern—but for clean VAR releases, it's important.

--

📊 Plugin Comparison — AudioRouter vs AudioMate
FeatureAudioRouterAudioMate
Supports .mp3, .wav, .ogg✅ Yes✅ Yes
Folder-based sound loading (+ Folder)✅ Yes✅ Yes
Single audio file loading (+ File)✅ Yes✅ Yes
UI for Play, Stop, Clear✅ Yes✅ Yes
PlayRandom with full-cycle shuffle✅ Yes✅ Yes
Playback modes (PlayNow, Next, Shuffle, etc.)✅ Yes (user selectable)✅ Yes (internal logic)
Custom AudioSource routing (HeadAudioSource + AudioSource)✅ Yes✅ Yes
Supports Triggers (VAM actions)✅ Yes✅ Yes
Scene Save/Load last session sounds✅ Yes✅ Yes
Shuffle avoids repeats until full cycle✅ Yes✅ Yes
Preset System (Save Preset/Load Preset)✅ Yes✅ Yes
Triggers Available to Create Full Audio Player ⏮ ⏵ ⏸ ⏹ ⏭ 🔁 🔀✅ Yes✅ Yes
UI sound list with X button removal on individual tracks
✅ Yes❌ No

--

Common Button Triggers

Play / Play Start
Select the first song in the list and it will play through in order.

In Plugin:
Autoplay: Next, Mode: PlayNow or PlayNowClearQueue

On UI Button:
Receiver Atom: AudioRouter (atom name)
Receiver: plugin#0_VamEssentials.AudioRouter
Receiver Target: PlaySpecific
Choice: First Song In List 1.wav

Play Previous
In Plugin:
Autoplay: Next, Mode: PlayNow or PlayNowClearQueue

On UI Button:
Receiver Atom: AudioRouter
Receiver: plugin#0_VamEssentials.AudioRouter
Receiver Target: PlayPrevious

Play Next
In Plugin:
Autoplay: Next, Mode: PlayNow or PlayNowClearQueue

On UI Button:
Receiver Atom: AudioRouter
Receiver: plugin#0_VamEssentials.AudioRouter
Receiver Target: PlayNext

Stop
In Plugin:
Autoplay: Next, Mode: PlayNow or PlayNowClearQueue

On UI Button:
Receiver Atom: AudioRouter
Receiver: plugin#0_VamEssentials.AudioRouter
Receiver Target: Stop or StopAndClearQueue

--

Pause
You can leave the settings in the plugin the same as whatever you use for Play or can use the following...
In Plugin:
Autoplay: Next, Mode: PlayNow or PlayNowClearQueue

You can Pause it directly on the AudioSource:
On UI Button:
Receiver Atom: AudioSource
Receiver: AudioSource
Receiver Target: Pause

You can create a Toggle Button with Pause and Play. If you click Pause it shows Play button, if you click Play, it then shows the Pause button. This allows you to Play and Pause using same Button location, or you can map them to two separate buttons if you prefer.

UnPause or Play
You can leave the settings in the plugin the same as whatever you use for Play or can use the following...
In Plugin:
Autoplay: Next, Mode: PlayNow or PlayNowClearQueue

You can UnPause it directly on the AudioSource:
On UI Button:
Receiver Atom: AudioSource
Receiver: AudioSource
Receiver Target: UnPause

--

Play (One Time)
Play a specific audio clip once.

In Plugin:
Autoplay: Off, Mode: PlayNow or PlayIfClear

On UI Button:
Receiver Atom: AudioRouter
Receiver: plugin#0_VamEssentials.AudioRouter
Receiver Target: PlaySpecific
Choice: How was work today missed you 1.wav

🔁 Play and Loop
Great for ambience or looping a favorite audio file.

In Plugin:
Autoplay: Off, Mode: PlayNowLoop

On UI Button:
Receiver Atom: AudioRouter
Receiver: plugin#0_VamEssentials.AudioRouter
Receiver Target: PlaySpecific
Choice: Rain Ambience 1.wav

🎲 Play Random (One Time)
Selects a random file from the loaded list and stops. Commonly used with triggers in animations.

In Plugin:
Autoplay: Off, Mode: PlayNow or PlayNowClearQueue or PlayIfClear

On UI Button:
Receiver Atom: AudioRouter
Receiver: plugin#0_VamEssentials.AudioRouter
Receiver Target: PlayRandom

🎲 Play Random Shuffle
Selects a random file from the loaded list and continues playing randomly.

In Plugin:
Autoplay: Shuffle, Mode: PlayNow or PlayNowClearQueue or PlayIfClear

On UI Button:
Receiver Atom: AudioRouter
Receiver: plugin#0_VamEssentials.AudioRouter
Receiver Target: PlayRandom

--

AudioRouter uses, adapts and/or found inspiration from these awesome resources, which it would not be possible without:

Credits
MacGruber.LogicBricks.14.var
everlaster.SoundFromAssetBundle.1.var
dub.AudioMate.20.var

More resources from VamEssentials

Share this resource

Back
Top Bottom