We have the following basic setup for playing FMOD footstep sounds in our character controller:
The logic works and sounds are heard as they should in editor and when playing as a stand alone game from editor. However, after cooking the game, all FMOD events work except for the character movement sounds in the cooked build, there’s total silence there.
- We are aware that you need to more FMOD banks into the cooked project folder, that is done and all other FMOD sounds/events work fine.
- The node that supposed to play the footstep FMOD sounds kicks in, confirmed by print string node hooked up to it.
- The same footstep sound itself is heard just fine when triggered through different means than character controller’s footstep logic.
- The footsteps were working at some point in previous cooked builds a couple months ago. Neither FMOD nor UE were update in-between.
Any ideas what could be missing? Feels like there’s something messed up in surface type logic, but what could be the difference between editor logic and cooked game there?
I have a couple of questions which can help me narrow down the cause of the issue.
- Can you reproduce this in a blank project using minimal content and simple logic?
- What are the Packaging Settings you are using when you go to package your project?
- Are you making sure the character/controlled spawned in the default startup game is the correct character blueprint you have the footstep sounds applied?
Looking at your screenshot, it is hard to determine what the problem could be, without more information or a simple test project.
I’m sure I can help you, as I had this issue, too. The reason for this to happen is most likely, that the FMODStudio module isn’t loaded when the game tries to load the FMOD event assets when in packaged build.
This isn’t an issue in the editor, as the editor startup will load the module. To fix this issue, we modified our C++ GameMode class, and added the following line as the first line in the constructor:
Also make sure, that you include the FMODStudio plugin header, which in my case is located here:
Hope this helps you!