I’ve recently been playing around with modding and am currently attempting to mod audio files in a game that uses FMOD. However, I’m struggling to get it working how I’d like, so I have a few questions that will hopefully get me back on track. I know you can mod audio files directly with a program called ‘Fmod-Bank-Tools’ which worked for my purpose, but I feel like this is a really messy way of swapping audio, and it seems to require you to repack an entire audio bank rather than just being able to add/swap specific files. So because of that, I’ve been trying to make a .pak mod that modifies the FMOD event files directly. I’ve set up the FMOD Studio to Unreal Engine pipeline, and have mimicked the game’s file structure for the files I’m attempting to change, but I’m having no luck in making it actually work. So here’s my questions:
How does FMOD tell the game where the required audio file is? If an event plays in game, how does the event find the relevant files it uses?
There are two files in particular that FMOD Studio generates when building for UE. AssetLookup and BankLookup located in FMOD/PrivateIntegrationData. These files aren’t really editable, and attempting to use a label to build them into a specific pak ID doesn’t work as they just get built into the base pak. Is this intended, and are these necessary for the packaged files, or are they just for the editor?
The documentation on creating UGC isn’t entirely clear. It states that separate master banks can be created to load alongside the original master bank, but I can’t seem to find a way to make the game use the audio in the newly created banks. The answer to 1 & 2 may already answer this, but if not, how does UGC get integrated without affecting the original files?
I know the documentation suggests acquiring an FMOD Studio template from the developer, but that isn’t available in this case, so with these questions in mind, what would be the best way to implement UGC without altering any of the original audio banks?
The assets have been compressed into the banks so they can no longer be specified.
I am not sure what exactly the issue is here.
This requires having a copy of the original FMOD Studio project
Unfortunately, unless the game devs have provided the original FMOD Studio project for modification we cannot provide further assistance. I would suggest reaching out the devs if they can provide the Studio project.
The assets have been compressed into the banks so they can no longer be specified.
So my question remains. When unreal engine triggers an event, how does that event find the audio file in the banks? Is it a string path? Does it use AssetLookup/BankLookup?
I am not sure what exactly the issue is here.
AssetLookup and BankLookup seem to contain information required for locating the audio files from the banks (please correct this if this is wrong). When creating UGC, surely these files would need to be modified also to include the new information for the new audio/banks. When creating .pak mods, typically you would assign modified assets a custom .pak ID so that you can load them into the game without replacing any of the existing .pak files. Trying to assign an ID to these particular files does nothing as they get packaged into the base chunk, making it impossible to include them in a .pak mod, which is why I’m trying to find out how necessary they are, and if there is something FMOD is doing to block them from being assigned to a custom ID.
Unfortunately, unless the game devs have provided the original FMOD Studio project for modification we cannot provide further assistance. I would suggest reaching out the devs if they can provide the Studio project.
Ok, I’ll see if I can get in touch with the devs. Thanks.
The events are encoded and compressed into the banks and no longer exist as individual audio files. When the FMOD engine triggers an event it knows the address of the sample data it wants to play and retrieves it from the bank.
Thank you for the info. Both of these are used to create the uassets which are used by the unreal editor to load banks and events. They are just list essentially.
This is why the FMOD and UE project will have to be created to support user content as everything will have to be designed to add new events and have specific triggers for loading those events.
Thank you for reaching out, I hope the game devs are able to assist with your questions.