Some sounds missing in UE4 packaged builds but work fine in the editor

Unreal version: 4.26.1
FMOD version: 2.01.08

So after updating the engine of our game and going from older version of UE to a newer one, we naturally had to update the FMOD plugin/UE4 integration and FMOD Studio itself. Now, we’ve been having this problem for quiet a while now, what basically happens is this:

All of the sounds work while playing the game from the editor, but when packaging the build and creating an .exe file some sounds (that work in the editor) go missing.
I’ve basically tried everything - FMOD plugin validation, additional asset directories to cook in UE4 etc. but none of this works.

What I’ve noticed is that after the update there’s a new folder, besides the one that keeps all of the desktop banks, there’s another FMOD folder with all of the events, banks etc. with .uasset extension.

This folder wasn’t present in the previous UE version we’ve had and what’s more, when I enter this folder, go to the banks folder, and remove all of the banks with .uasset extension, the same sounds that go missing in builds, also start missing in the editor!

So right now, I’m at a complete loss and don’t know what to do anymore. I’m hoping that someone in here has the solution for this. Thanks!

Thanks for reporting this.

The new directories containing uasset files are created by the integration and you should not modify or remove those files - doing so would be expected to cause problems like you encountered. You should be able to restore those uasset files by re-launching the editor, or by choosing “Reload Banks” from the File menu.

I haven’t been able to reproduce any issues with playback failing in a packaged build. If you change the Logging Level setting to LEVEL WARNING and package and run a development build do you see any warning log messages from FMOD?

No warning log messages whatsoever after changing logging level to LEVEL WARNING. Should the .uasset files build into the packaged build aswell? Because for now, ony the conent/FMOD/Desktop and file builds, but some of the sounds are still missing. Is there a way (if it’s required to do so) to include the .uasset files in the packaged build?

EDIT: I’ve added the .uasset files to the packaged build via “additional non-asset directories to copy” but to no avail, the sounds are still missing. I’ve tried everything at this point.

There should be no need to worry about the uasset files, just treat them as the other UE4 assets. They’ll be included in the PAK file when you build.

I’m not sure what you mean by “only the content/FMOD/Deskop and file builds”? You should have Content/FMOD/Desktop added to “additional non-asset directories to copy” and everything in Content/FMOD/Desktop should be copied to the build, is that not the case?

That is exactly the case, by “only” I meant without the FMOD folder with all of the .uasset files, but as you’ve stated, they’re not needed as they build automatically. The issue still stands, the sounds are still missing and I’m still at a complete loss.

I’m afraid without being able to reproduce this I’m also at a loss to explain it.

Could you package up a minimal UE4 + FMOD Studio project which demonstrates the issue and upload it to using the uploads tab in your user profile? If we can test it directly we should be able to figure out what is going wrong.

I’m afraid uploading is not possible in my situation. Right now, the same thing happens in the editor for some of the levels, some sounds are triggering correctly (event FMOD profiler shows that the events trigger) but they output no sound.

We’ve encountered a similar issue where events triggered in code wouldn’t play. One way I found to temporarily “fix” it is by placing the events into the level and turning off “auto activate”.

I wonder if this issue is similar for you!

1 Like

@C418 if you’re in a position to share a repro of this with us we’d love to take a look at it!

We found and fixed a bug which could explain this behavior - the Blueprint functions Find Event By Name and Find Asset By Name are returning null for assets which have not been loaded. We’ve added a fix for this to our upcoming release which.

The fix has already been pushed to GitHub, so if you’re comfortable updating the UE4 plugin source code that way you can access the fix immediately.

1 Like

sorry fmod-guys but still doesn’t work :frowning:

FInd Event By Name and Find Asset By Name (internally the same flow) returns null assets/fmodevents when we publish our game. Important notice is that events we are looking for aren’t referenced in BP or other places. We are using this to get VO files.

tested on 2.01.10 (release) i 2.01.09 (github) (unreal 4.26.2)

previously works very well on 2.01.08 and UE 4.25.4

help please :slight_smile:

Are you able to set the FMOD logging to level Log and share the output log please?

1 Like

log is very clean so we put some more logs in process of events loading (FMODAssetTable/FFMODAssetTable::GetAssetByStudioPath() ) and it looks like AssetLookup table is ok.
Row with event is present in table (ln 185).
Package is created and fully loaded (ln 190) but cannot find object in package (ln 190).

As I said previously when running on unreal 4.25 (2.01.08) works fine in development build.
I made one more test with looking for event referenced somewhere and it’s loaded well by name. Problem is with not referenced events.

[2021.06.09-14.33.59:162][  0]LogFMOD: FFMODStudioModule startup
[2021.06.09-14.33.59:162][  0]LogFMOD: Lib path = '../../../Condor/Plugins/FMODStudio/Binaries'
[2021.06.09-14.33.59:162][  0]LogFMOD: FFMODStudioModule::LoadDll: Loading ../../../Condor/Plugins/FMODStudio/Binaries/Win64/fmodL.dll
[2021.06.09-14.33.59:170][  0]LogFMOD: FFMODStudioModule::LoadDll: Loading ../../../Condor/Plugins/FMODStudio/Binaries/Win64/fmodstudioL.dll
[2021.06.09-14.33.59:175][  0]LogFMOD: Display: Loaded bank lookup
[2021.06.09-14.33.59:184][  0]LogFMOD: Display: Loaded asset lookup
[2021.06.09-14.33.59:217][  0]LogFMOD: Default sample rate = 48000
[2021.06.09-14.33.59:217][  0]LogFMOD: System sample rate = 48000
[2021.06.09-14.33.59:217][  0]LogFMOD: Matching system sample rate 48000
[2021.06.09-14.33.59:289][  0]LogFMOD: Loading bank: ../../../Condor/Content/Audio/FMOD/Desktop/
[2021.06.09-14.33.59:289][  0]LogFMOD: Loading bank: ../../../Condor/Content/Audio/FMOD/Desktop/
[2021.06.09-14.33.59:289][  0]LogFMOD: Loading bank: ../../../Condor/Content/Audio/FMOD/Desktop/
[2021.06.09-14.33.59:289][  0]LogFMOD: Loading bank: ../../../Condor/Content/Audio/FMOD/Desktop/
[2021.06.09-14.33.59:289][  0]LogFMOD: Loading bank: ../../../Condor/Content/Audio/FMOD/Desktop/
[2021.06.09-14.33.59:289][  0]LogFMOD: Loading bank: ../../../Condor/Content/Audio/FMOD/Desktop/

This sounds possible because in the 4.26 integration we switched to making generated assets on disk rather than just in memory, and if assets aren’t referenced then they may get cleaned up by the garbage collector.

I tried to reproduce this myself but did not run into any issues when I tried to use UFMODBlueprintStatics::FindEventByName, the event appeared to be usable without being referenced anywhere else.

Are you able to share small project that reproduces this at all?
You can upload files to your FMOD Profile.

1 Like

ok. I created temp project with simple case and still didn’t work. I tried to upload it on FMOD Profile but still got error on any type of file (7z, zip or simple log).

here is a link to our simple test project. FMOD bank contains only 2 events. One is placed on map and is played automaticaly on run (and works well on editor and build). Second one is played after 5sec by name (look at level blueprint where you find bp block - Find Event by Name).

Thank you very much for the project, sorry about the uploading I’m not sure what happened there but we will look into it.

It looks like this is caused by unreferenced UObjects being removed from builds, we are currently investigating this.

1 Like

Hello! We just encountered this as well after updating to UE 4.26. Any recommendations on what fmod version to use for a stable build? Thanks.

You can work around this by adding some folders to the “Additional Asset Directories to Cook”:

  • FMOD/Banks
  • FMOD/Buses
  • FMOD/Events
  • FMOD/Reverbs
  • FMOD/Snapshots

I have added a task to automate this in an upcoming release.

1 Like