Skip to content

Support for audio events from Wwise soundbanks #564

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 17 commits into
base: dev
Choose a base branch
from

Conversation

Masusder
Copy link

First of all, this pull request is required .

As explained in the title, this implementation allows for audio events to be associated with WEM files that are embedded in the soundbanks, making it very easy to navigate through wwise audio.

Some explanation as to why I'm trying to load all Soundbanks at once (which I know may not seem ideal) - if audio event hierarchy starts in BNK 1 and continues in BNK 2, there's no way to determine that BNK 2 should be loaded. This is because developers control which banks are loaded into memory. Therefore, the most reliable approach is to either load all soundbanks or replicate the specific bank-loading logic of a given game. However, this is only needed in that specific scenario where audio event hierarchy is split across multiple soundbanks (and nothing points to different soundbank).
To keep loading efficient, I’ve added constraints so the initial load takes only a few seconds. For example, while a game like Valorant uses thousands of soundbanks, the majority reference only loose WEM files, so loading every soundbank isn't necessary.

I left one TODO, which isn't needed in case all soundbanks are loaded so it can be omitted (because in some cases Wwise actually points to different Soundbank).

Example usage:
ValorantWwise

@4sval
Copy link
Owner

4sval commented May 20, 2025

CUE4ParseViewModel.cs is quite a big mess already, can the logic be moved to either CUE4Parse for everyone to use or a dedicated class (static or not) in FModel?

@Masusder
Copy link
Author

CUE4ParseViewModel.cs is quite a big mess already, can the logic be moved to either CUE4Parse for everyone to use or a dedicated class (static or not) in FModel?

Sure, I moved the logic to CUE4Parse WwiseProvider class.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants