• Hi Guest!

    We have posted a new VaM2 dev log on Patreon, starting a monthly cadence of written progress updates between Beta releases. Highlights include the new Gizmos System, Selection Carousel, and Modes System with Context-Specific Editing. Beta1.2 is 15 of 21 items complete.

    Read the full post on Patreon, or follow progress on the public Trello roadmap.
[Project CRAFT] AUDIO CUA STUDIO

Plugins + Scripts [Project CRAFT] AUDIO CUA STUDIO

Download [103.52 MB]

Shadow Venom

Well-known member
Featured Contributor
Joined
Oct 10, 2022
Messages
366
Reactions
2,347
Very nice, was waiting for something like this.
I have a bug report tho, compression seems to mess with the files, audio is still OK in the app, but don't work in VAM (tested with VAMessential and atani version of audiorouterAB
Not compressing works
My source files are mp3 320k
 
Very nice, was waiting for something like this.
I have a bug report tho, compression seems to mess with the files, audio is still OK in the app, but don't work in VAM (tested with VAMessential and atani version of audiorouterAB
Not compressing works
My source files are mp3 320k
I tried the plugin you mentioned, but I still can’t reproduce the issue locally.

An earlier build computed the audio clip length from an estimate that was wrong for some MP3s (especially VBR), which left compressed clips broken inside VAM while PCM was unaffected. The updated build now reads the exact length from the MP3 frames, so this should be fixed.
Please grab the latest version and re-test.


If it still misbehaves, could you tell me:
  1. Are your source MP3s CBR or VBR 320?
  2. Does the compressed clip play but cut off / sound wrong, or is it totally silent / fails to load?
And if it's still off, a single sample MP3 that reproduces it would help a lot. (PCM output works as a stopgap meanwhile.)

Thanks for the report!
 
Last edited:
some are working, some are not, all are vbr, but non working ones are 44.1lhz vs working ones at 48khz is that possible? Tested on your testing release, were the issue is still there
Sound is silent or just some microseconds, glitched

 
Last edited:
I converted faulty files wy turning them to 48khz 320CBR and it fixed the issue
Tested also in VBR, works fine in 48khz, not in 44.1khz
The days of CDs are long gone :)
 
Last edited:
Some suggestions:
-A toggle in the UI to add the option to disable the "open explorer window after process" would be nice.
-Play buttons next to the audio files in the Create CUA side like in the export side.
 
Last edited:
Shadow Venom updated AUDIO CUA STUDIO with a new update entry:

Update v1.3

🆕 Update v1.3

🔧 Fixes
  • 🎯 Compressed audio now plays cleanly in VAM. Some compressed clips could glitch or go silent (most noticeably on short clips / certain MP3s). Compressed output now uses Vorbis — Unity's native audio format — so it plays correctly with every audio loader.
  • ⏱️ Exact clip length. Fixed a case where some VBR MP3 sources produced a wrong clip length (clips getting cut short)...

Read the rest of this update entry...
 
Some suggestions:
-A toggle in the UI to add the option to disable the "open explorer window after process" would be nice.
-Play buttons next to the audio files in the Create CUA side like in the export side.

Version 1.3 should fix all of the compression compatibility issues and also includes the UI/UX improvements you suggested.

Now we're just waiting for it to pass review and be approved.
 
Very useful tool! (y)

Please consider storing audio files hierarchically inside CUA (at least allow first level subfolders). This will allow audio grouping and will facilitate locating a file inside large CUAs.
I already use audio CUAs I create in Unity for production and since they tend to be huge (more than 600 files each) I always use structured storing.

I propose the following workflow for imports:
(1) Create a fully structured folder hierarchy of audio files on the disk (e.g. ambient, voice1, voice1/angry, voice1/happy, voice2 etc.), under a single root folder (e.g. my_files).
(2) Drag the root folder in Audio Cua Studios Create CUA window.
(3) Software ignores root folder name (my_files) but retains all hierarchy.

Vise-versa for exports (asking for root folder name).

Additionally please consider to optionally keep a consistent Save to folder under the philosophy that all *structured* CUAs do not need to be in subfolders, they contain them!

Thank you for your attention!

Keep up the good work! 🙏
 
Very useful tool! (y)

Please consider storing audio files hierarchically inside CUA (at least allow first level subfolders). This will allow audio grouping and will facilitate locating a file inside large CUAs.
I already use audio CUAs I create in Unity for production and since they tend to be huge (more than 600 files each) I always use structured storing.

I propose the following workflow for imports:
(1) Create a fully structured folder hierarchy of audio files on the disk (e.g. ambient, voice1, voice1/angry, voice1/happy, voice2 etc.), under a single root folder (e.g. my_files).
(2) Drag the root folder in Audio Cua Studios Create CUA window.
(3) Software ignores root folder name (my_files) but retains all hierarchy.

Vise-versa for exports (asking for root folder name).

Additionally please consider to optionally keep a consistent Save to folder under the philosophy that all *structured* CUAs do not need to be in subfolders, they contain them!

Thank you for your attention!

Keep up the good work! 🙏

That's a really good piece of feedback!

Interestingly, most of the features you mentioned are already part of a dedicated voice-over production suite I'm developing specifically for VAM. AUDIO CUA STUDIO is actually just a simplified version of it, primarily focused on the final packaging stage of the workflow.

The full VA toolchain covers everything from character creation to final dialogue generation and packaging. It includes persona management, dialogue planning, script writing, emotion analysis, tag classification, TTS generation, and the entire content pipeline. On the runtime side, there's also a dedicated VAM Runtime VA plugin responsible for audio playback and subtitle scheduling in-game.

It supports both human-in-the-loop workflows and fully autonomous agent-driven workflows.

In fact, this entire pipeline is already being used in production for both Casino 69 and Produce 69. For example, the thousands of voice lines in Casino 69 were generated through the fully autonomous agent workflow, with the agents handling everything from dialogue style planning and content creation all the way through final packaging.

That said, the folder organization features you suggested are definitely worth bringing down into AUDIO CUA STUDIO as well.

One thing worth clarifying, however, is that VAM's runtime essentially ignores folder hierarchy when enumerating audio files. In other words, regardless of how neatly files are organized into folders, the audio files themselves still cannot share the same filename.
 
Glad to hear that!

As for folders in CUAs, as I said, I am already using this functionality in CUAs I create, and folders *can* be used with various third party tools such as SoundFromAB, (a part of MacGruber's Logick Bricks).

Again, keep up the good work!
 
Glad to hear that!

As for folders in CUAs, as I said, I am already using this functionality in CUAs I create, and folders *can* be used with various third party tools such as SoundFromAB, (a part of MacGruber's Logick Bricks).

Again, keep up the good work!

1780934766807.png

Hierarchical storage is in now (v1.4): drag a structured folder in and the whole subfolder layout is kept inside the CUA; the file list even shows it grouped by folder. Extract does the reverse — it rebuilds the same folder tree on disk. So your ambient / voice1/angry / voice1/happy / voice2 structure round-trips cleanly.

One small change from your proposal — I kept the folder you drag as the top level instead of ignoring its name. Reasoning:
  • Least surprising — for most people, dragging "MyFolder" and having it vanish from the result is confusing ("where did my folder go?"). What you drag is what you get.
  • Consistent with multi-drag — if you drop several folders at once (e.g. ambient + voice1 side by side), each keeps its name as a top-level group. Dropping the names there would flatten/clash.
  • It still gives you what you wanted — to omit an outer wrapper like my_files, just drag the contents (the inner folders) instead of the outer folder. So "ignore the root" is one drag-level away, while keeping the root stays the safe default.
So in your case, the practical solution is simply to open the root folder in the browser, select all of its subfolders, and drag them in together. The end result will be exactly the same.

A heads-up on the runtime side: VAM's audio loaders address clips by filename only (they ignore folders), so the hierarchy is for organization / locating files inside big CUAs — exactly your use case. Just keep basenames unique across folders (the tool warns on duplicates).

Keep the feedback coming — really appreciate it! 🎧

Before I update the Hub files, you can try this version first and let me know how it goes.

*** The link has been removed. Please grab the Hub-hosted 1.41 version instead.
 
Last edited:
BTW, as I mentioned earlier, this tool was designed from the ground up to support three workflows: manual operation, human-in-the-loop collaboration, and fully autonomous agent-driven automation.

If you already have AI agents in your workflow and want to automate this part of the process, the tool also provides a complete CLI interface specifically for agent usage.
 
Wow, that was fast!!! :oops:
Seems to be working fine, workflow changes noted.

Kudos!! 🙏

(a tiny suggestion though, for us that have already engineered all sounds to our best preference, could we also have the option of packing our sounds in their original formats? Though I find your options indispensable for new works, this could make process a lot faster for us)
 
Wow, that was fast!!! :oops:
Seems to be working fine, workflow changes noted.

Kudos!! 🙏

(a tiny suggestion though, for us that have already engineered all sounds to our best preference, could we also have the option of packing our sounds in their original formats? Though I find your options indispensable for new works, this could make process a lot faster for us)

Good question... :p

and the short answer is reassuring: what this tool outputs is essentially the same as what Unity 2018 produces. Let me explain why a passthrough wouldn't really gain you what it sounds like it would.

Same format, same encoder. When Unity builds an AssetBundle, your AudioClips are stored as Vorbis inside an FSB5 (FMOD's bank format) — that's Unity's default compressed audio. This tool's "Compressed — Vorbis" does the exact same thing: it encodes with fsbankcl from FMOD 1.10.20, which I deliberately matched to the FMOD version baked into Unity 2018.1.9f2. The resulting clips are byte-for-byte the same kind of FSB5/Vorbis AudioClip, and they've been verified loading cleanly in VAM. So you're not getting a different or inferior container — it's the Unity output, just produced without opening Unity.

Unity re-encodes too — there is no "original format" pass-through in a Unity bundle. This is the key bit: when you import an MP3/OGG/WAV and build a bundle, Unity decodes and re-encodes it to the chosen format (Vorbis or PCM). It never stores your original MP3/OGG bytes in the bundle. So even in your current Unity pipeline, your "engineered" files are already being re-encoded to Vorbis — exactly like this tool does. A "pack original MP3" option would actually differ from your Unity output, not match it.

The only real variable is the quality parameter (Unity's Vorbis "Quality" slider ↔ fsbankcl's quality). I'm going to expose that in the tool so you can dial it to match whatever you use in Unity, and reproduce your preferred settings precisely.

And if you ever want truly untouched audio (no lossy step at all), the Uncompressed — PCM option is your bit-exact route — same as choosing PCM in Unity.

One thing to confirm on your end: if your Unity setup uses PCM or ADPCM rather than Vorbis for these banks, that's the one case where the format would differ — let me know and I'll make sure that's covered. 🙏
 
To be honest, if you simply let this tool take over future development of your existing project, there probably won’t be any noticeable difference in audio quality from a listener’s perspective.

Most users would be unlikely to hear a meaningful difference in the final result.
 
To be honest, if you simply let this tool take over future development of your existing project, there probably won’t be any noticeable difference in audio quality from a listener’s perspective.

Most users would be unlikely to hear a meaningful difference in the final result.
Of course!
I already measured your attained quality!! (y) I was talking about the processing speed gained by not using ffmpeg as an intermediary. Again, I'm talking several thousands of already engineered sounds.
But of course you are the developer, you get to decide about this, it already is a very useful tool!!!

*EDIT* I get your point, it probably takes me the same amount of time to compile the CUA in Unity, but I fail to count that due to lengthy compilation times of non-audio CUAs... I stand corrected! (y)
 
Last edited:
Of course!
I already measured your attained quality!! (y) I was talking about the processing speed gained by not using ffmpeg as an intermediary. Again, I'm talking several thousands of already engineered sounds.
But of course you are the developer, you get to decide about this, it already is a very useful tool!!!

Ah, got it!

Speed, not quality.

That's a fair point for batches that size, so let me be precise about where the time actually goes. 🙂

Since the v1.3 Vorbis switch, ffmpeg is no longer the encoder. The actual encoding is done by fsbankcl (FMOD 1.10.20) > the very encoder Unity 2018 uses internally > so the output is the same FSB5/Vorbis bank Unity would build. ffmpeg now only does a quick decode of your source to PCM to hand off to FMOD (Unity does an equivalent decode step internally too). So there's no "ffmpeg encoding intermediary" adding overhead anymore.

That part is fully aligned with Unity.

Where the time really goes: for Vorbis, the cost is the FMOD Vorbis encode itself and that's the exact same work Unity performs on build. The ffmpeg decode is a tiny fraction on top. So dropping ffmpeg wouldn't move the needle much; the encode dominates either way.

The real accelerator for thousands of files is parallelism, and that's on me to add: right now it encodes sequentially, but fanning the encode out across CPU cores will cut wall-time dramatically on big batches, far more than skipping the decoder would. I'll put that in.

And if you want zero encoding at all (instant packing) for masters you've already finalized, Uncompressed PCM just wraps the audio with no encode step. That's the genuinely fastest path, at the cost of size (X4). The downside is that it's not very friendly for sharing.

Thanks for pushing on this, "make the big-batch case fast" is exactly the right thing to optimize. 🙏
 
Shadow Venom updated [Project CRAFT] AUDIO CUA STUDIO with a new update entry:

Update v1.41

🆕 Update v1.41 — Folders & Speed

📁 Folder hierarchy
  • Drag a structured folder and its layout is kept inside the CUA. Organize big packs however you like — ambient, voice1/angry, voice2 — and the subfolder structure is preserved, not flattened.
  • What you drag is what you get. The folder you drop becomes the top level, so it round-trips exactly. (Want to omit an outer wrapper? Just drag...

Read the rest of this update entry...
 
Of course!
I already measured your attained quality!! (y) I was talking about the processing speed gained by not using ffmpeg as an intermediary. Again, I'm talking several thousands of already engineered sounds.
But of course you are the developer, you get to decide about this, it already is a very useful tool!!!

*EDIT* I get your point, it probably takes me the same amount of time to compile the CUA in Unity, but I fail to count that due to lengthy compilation times of non-audio CUAs... I stand corrected! (y)

Version 1.41 adds full support for importing and exporting folder categories and hierarchical structures in both directions.

It also distributes build-time processing across multiple CPU cores in parallel, significantly improving production efficiency.

To be honest, I don’t really have any complaints about Unity’s pipeline itself.

What I can no longer tolerate is its processing efficiency on modern high-end hardware. 😄 It’s basically treating my 9950X3D like a CPU from 2018.

Another major goal is to provide my agents with a CLI they can directly operate through, bypassing Unity entirely.
 
Version 1.41 adds full support for importing and exporting folder categories and hierarchical structures in both directions.

It also distributes build-time processing across multiple CPU cores in parallel, significantly improving production efficiency.

To be honest, I don’t really have any complaints about Unity’s pipeline itself.

What I can no longer tolerate is its processing efficiency on modern high-end hardware. 😄 It’s basically treating my 9950X3D like a CPU from 2018.

Another major goal is to provide my agents with a CLI they can directly operate through, bypassing Unity entirely.
Excellent for the update!, you are lightning-fast!! o_O
And well said for Unity!!(y)
 
Back
Top Bottom