Keyboard-driven audio browsing and auditioning right inside your Unity Editor
by BigBuffaloBill — v1.0
Author's Note on Expected Functionality: The author has written an important note about the intended scope, known limitations, and support expectations for this toolset. Please see Notes on Tool Intent, Status and Author Support before proceeding.
Sound File Previewer is a Unity Editor utility window that lets you instantly browse and audition every audio clip inside any folder in your project — just drag the folder in and use your arrow keys to step through the list, hearing each clip play the moment you land on it. No clicking Play over and over, no hunting through the Project panel — just fast, keyboard-driven audio browsing right inside your Unity layout.
AudioUtil.PlayPreviewClip, an internal Editor API consistent across Unity 2021 through Unity 6; tested and recommended on 2021.3+)UnityEngine, UnityEditor, System.IO, System.Text.RegularExpressions)Allow Unity to compile the newly imported scripts. Once compilation finishes, the tool is ready to use — no additional setup is required. The following assets will be present in your project:
Assets/BBB/SoundFilePreviewer/
├── Editor/
│ └── SoundFilePreviewer.cs
├── SoundFilePreviewer_AssetDoc.html
└── ImportantNoteAboutSupport.html
Note: This is a purely Editor-side tool. No data assets or runtime files are created at any point.
Navigate to Tools > BBB > Sound File Previewer in the Unity menu bar. The window is a standard dockable Editor window — you can dock it alongside the Inspector, Scene view, or any other panel. The window title is “Sound File Previewer.”
A small Help button sits in the top-right corner of the window. Clicking it opens this documentation file in your operating system’s default web browser.
In the Folder field at the top of the window, drag any folder from your Unity Project panel and drop it into the field. Sound File Previewer will immediately scan that folder and all of its subfolders for audio clips and display them as a sorted list.
Tip: The folder must be inside your Unity project’s Assets folder. Dragging a file instead of a folder will show a prompt asking you to try again with a folder.
Once a folder is loaded, a Filter (regex) field appears below the Folder field. Type any text or regular expression to narrow the list in real time — only filenames that match will be shown.
Examples:
explosion shows all files with "explosion" in the name (case-insensitive)
^amb shows files whose names start with "amb"
\.(wav|ogg)$ shows only WAV and OGG files
The file count in the list header updates to show matched vs. total (e.g. Audio Files (12 of 47)).
If your regex is invalid the field turns red and a warning appears below it. The previous valid filter stays active until you correct or clear the input. Leave the field empty to show all files.
Each row in the list shows the filename of the audio clip (e.g. Explosion_01.wav).
To scan a different folder, simply drag a new folder into the Folder field at any time.
Once you’ve found the clip you want, drag it directly from the list into your scene:
Just click and hold on any row, then drag — the cursor changes to Unity’s standard drag icon as soon as the drag is recognized.
Tip: You do not need to select a clip first. You can click, hold, and drag in one motion. The clip will also play as normal on the initial click.
Namespace: Global (no namespace)
Inherits: UnityEditor.EditorWindow
Location: Editor/SoundFilePreviewer.cs
Description: The main Editor window class. This is an editor-only class and is not available at runtime.
| Menu Path | Method | Description |
|---|---|---|
| Tools > BBB > Sound File Previewer | ShowWindow() |
Opens or focuses the Sound File Previewer window. |
These methods are not part of a public API but are documented here for reference and extensibility:
| Method | Description |
|---|---|
OnGUI() | Draws the window UI: folder field, filter field, file list, and handles keyboard navigation events. |
ScanFolder(string path) | Recursively scans the given folder for supported audio file extensions and populates the internal file list. |
ApplyFilter() | Runs the current regex pattern against the full file list and rebuilds the filtered display list. Highlights the filter field red on invalid regex. |
PlayClip(string path) | Loads the audio asset at the given path and plays it via Unity’s internal AudioUtil.PlayPreviewClip API — the same system the Inspector uses. |
HandleDragOut(Rect row, string path) | Initiates a Unity DragAndDrop operation for the clip at the given path when the user clicks and drags beyond the threshold. |
Sound File Previewer uses Unity’s internal editor audio preview system via AudioUtil.PlayPreviewClip — the same one the Inspector uses when you click Play on an audio clip. No extra audio sources or components are required. This API has been consistent across Unity 2021 through Unity 6, but since it is an internal API, a future Unity upgrade could rename it without warning. If playback ever silently stops working after a Unity upgrade, that would be the first place to check.
Evaluate new sound packs on import. The moment you import a new audio package, drag its root folder into Sound File Previewer and arrow-key through everything. It’s the fastest way to know what you actually got.
Start with plain text before reaching for regex. Simple keyword searches like explosion or footstep work without any regex knowledge. Only reach for regex when you need format filtering (\.(wav|ogg)$) or anchored matches (^amb).
Drag without selecting first. You can click, hold, and drag in one motion — you don’t need to select a row before dragging it. The clip will also play on the click, so you’ll hear it as you pick it up.
Keep it docked beside your Inspector. The window is most useful when it stays visible while you work. Dock it in a tab group next to your Inspector or Scene view so it’s always one click away.
Use the file count as a gut-check. The (matched of total) count in the list header tells you at a glance whether your filter is working as expected or accidentally excluding files you intended to see.
Copy paths for scripting references. The right-click “Copy Full File Path” option is handy when you need to reference a specific audio file path in code or configuration — no need to navigate to it in the Project panel.
Q: The list is empty after I drag in a folder.
A: Make sure you dragged a folder, not an individual file. If you dragged a file, the window will prompt you to try again with a folder. Also confirm the folder contains audio files in a supported format (WAV, OGG, MP3, AIFF, AIF, FLAC, XM, MOD, IT, S3M) and that they have been imported into Unity.
Q: The filter field turned red and the list didn’t update.
A: A red filter field means your input is not valid regex. The previous valid filter (or no filter, if none was applied) stays active until you correct or clear the input. Check for unmatched parentheses, brackets, or other special characters that need escaping.
Q: Audio stopped playing after a Unity upgrade.
A: Sound File Previewer uses Unity’s internal AudioUtil.PlayPreviewClip API. This API is not part of Unity’s public surface and could be renamed in a future release without notice. If playback silently stops working after an upgrade, check whether that API still exists and report it via the Discord support channel.
Q: Clicking a row doesn’t play any sound.
A: Confirm your system audio is not muted and that the Unity Editor audio is enabled (the speaker icon in the Game view toolbar). Also check that the audio clip imported successfully — a failed import will show a warning icon on the asset in the Project window.
Q: Can I use this at runtime in a build?
A: No. Sound File Previewer is an Editor-only tool. The window class lives in an Editor folder and depends on UnityEditor APIs that are stripped from builds. It has zero runtime impact.
Q: What audio formats are supported?
A: Any format Unity can import: WAV, OGG, MP3, AIFF, AIF, FLAC, XM, MOD, IT, and S3M.
Q: Does the drag-out work with Addressables or asset bundles?
A: The drag operation uses Unity’s standard DragAndDrop API with direct asset references. It is compatible with standard Inspector fields and the Hierarchy. It does not integrate with Addressables keys or AssetBundle systems.
For questions, bug reports, or feature requests, please contact us through the Discord channel linked below.
Publisher: BigBuffaloBill
Discord: BigBuffaloBill & Friends Gaming + (bbb-unity-support-forum-public)