Deleting old banks completely

image

Fatal error: [File:D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp] [Line: 3639]
Cannot replace existing object of a different class.
New Object: /Script/FMODStudio.FMODEvent /Game/Sound/FMOD/Events/00_SFX/07_NonReverb/Global_StartDeathMenu.Global_StartDeathMenu
Existing Object: /Script/CoreUObject.ObjectRedirector /Game/Sound/FMOD/Events/00_SFX/07_NonReverb/Global_StartDeathMenu.Global_StartDeathMenu (0x00280003 0x00004000)

HI I did some restructuring of my banks and now I am getting a few errors in trying to build now. I fixed up redirectors thinking that it would find these objects again but to no avail. Any suggestions?

Thank you!

-Rob

Apologies for the delay. It looks like it’s trying to replace a redirector with an FMODEvent uasset, by using the ‘fixup’ redirectors option it should delete the redirector entirely (you may need to select the specific redirector, right click, Fixup).

The errors in the image show that the integration is expecting to find the banks in “Content/FMOD/Desktop/Desktop/Enemies.bank” but it does appear to load another bank in the line before that. Is that the correct location for the banks?

we think we figured it out!

But we have another bug that is confusing to me. In Unreal we have music playing in our main menu screen. So I know the bank and the asset is loaded. Some of our players don’t hear the music at all specifically in packaged builds. Also sometimes there are sounds that won’t play the first time through but every subsuquent time they will. We load the banks prior to our playing the sound and they work fine in the editor but for some reason don’t work in packaged builds. These problems rarely if ever show up in editor.

I made a test to see if the game thinks the sound is playing in the main menu and it says it is not so I am very confused on why some ppl hear it and others don’t.

Without some logging to go by it can be difficult to guess.

My first thought is that maybe the banks aren’t always fully loaded before the events are being triggered, it could also be caused by something to do with the output and/or drivers but that’s less likely.

Is there any way to get a log out of a packaged build? We have tried in play in editor but every time it is live connecting it seems to work.

Also I think it may be because I am using, what I assume, is a lot of memory. I am unsure of what is a “good amount” of memory for a 3d game. Does this stat mostly reflect what is currently loaded? And do I get rid of this by loading/unloading banks? Also we have several busses with convolution reverb where we route all of our sounds through a master reverb then sends it out to the reverb for a specific room. I know convolution takes up a lot but there is only ever one snapshot active with it.

Thank you!

By default a development build will use FMOD’s logging libs, you can customize the amount of logging in the FMOD-Unity settings, these logs will be added to your projects regular logs. But you cannot change the logging settings of an already built project.

This is a very open ended question, and depends on a number of factors relating to your intended target platforms/hardware. Generally you want to only use the resources you need at that moment, ie. segmenting banks so that you are able to load and unload banks as they are needed. But you also don’t want to fall into the trap of preemptively optimizing more than your really need to.

Again, the answer is ‘it depends’. For things like Convolution reverb, using the FMOD Studio Profiler will give you the clearest picture on how heavy the resource usage gets in certain areas. If you have a few instances of a convolution reverb with a large impulse response, it could be more stressful than using a higher number with much smaller IRs.