• Hi Guest!

    We are extremely excited to announce the release of our first Beta1.1 and the first release of our Public AddonKit!
    To participate in the Beta, a subscription to the Entertainer or Creator Tier is required. For access to the Public AddonKit you must be a Creator tier member. 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.
  • Hi Guest!

    VaM2 Resource Categories have now been added to the Hub! For information on posting VaM2 resources and details about VaM2 related changes to our Community Forums, please see our official announcement here.
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
React to this content...

More resources from VamEssentials

Share this resource

Latest updates

  1. Version 2 Update

    Fixed issue with audio in UI list not restoring from Scene Save/Reload. Special thanks to...

Latest reviews

Positive
PVP
Version: 2
Posted:
a one great tool
Upvote 0
Back
Top Bottom