Hello, and thank you for taking the time to read this! I really do appreciate it
TL;DR: I can’t get Fmod Studio’s reverb snapshots to work correctly in Unreal Engine 4; the reverb tail is consistently cut off when Fmod Event is done playing.
Current documentation on how to implement Mixer Snapshots into Unreal Engine 4 is outdated and not very helpful for troubleshooting. This might be a bug, so I’m going to write this up as a bug. Sorry for the length and specificity of the Repro Steps, I just want to be as crystal clear as possible with my set up and what I’m experiencing.
Referenced capture_ images are linked at the bottom of this question.
STEPS TO REPRO:
- Extract the FMOD Studio UE4 Engine Integration for Windows/Android in Unreal Engine’s system Plug-In directory (in my case, this path is C:\Program Files (x86)\Epic Games\4.12\Engine\Plugins) (see capture_1.png)
- Launch Unreal Engine 4 and create New Project using the First Person template.
- Launch FMOD Studio and create a new project.
- In Windows Explorer create a new folder named “FMOD” in your Unreal project’s Content folder. In my case, this path is C:\UE4_Projects\audio_test_02\Content\FMOD. (see capture_2.png)
- In FMOD Studio, open Edit > Preferences and navigate to the Build tab.
- Set the Built banks output directory to the newly created folder named “FMOD” in your Unreal project’s Content directory. (see capture_3.png)
- Create a new single sound Event and remove the Reverb Send on the event’s Master track. In my case, I’m using a recording of a walkie talkie being clicked off. (see capture_4.png)
- Assign Event to Master Bank.
- In the Mixer window (Ctrl+2) create a Mixer Group and assign the Event mixer input to the new Group. I’ve labeled my group SFX.
- Add the following effects to the Mixer Group: Compressor, 3-EQ, and Send to Reverb. (see capture_5.png)
- In the Snapshots tab of the Mixer window, create a new overriding snapshot; I’ve labeled mine fmod_long_reverb.
- Select the Mixer Snapshot, right-click the Reverb Return track and select Scope In.
- Change the Reverb Time value of the Reverb effect to 10 (or some other noticeably large number).
- On the Mixer Group (SFX in my case) Scope In the Reverb Send and the Fader Volume.
- Make sure the Mixer Group and Reverb Return volumes are both set to 0 dB and set the Mixer Group’s Reverb Send to -12 dB.
- Make sure Reverb effect’s Wet Level is set to 0 dB and Dry Level is turned down to negative infinity.
- Right click the Intensity Snapshot Macro and Expose as Parameter. (see capture_6.png)
- Save project and Build the Master Bank.
- In your Unreal project, Create an Audio Volume. I’ve labeled mine “reverb_volume”.
- In the Details panel, under Reverb > Settings, assign your Mixer Snapshot to the Reverb Effect parameter and make sure Apply Reverb box is checked. (see capture_7.png)
- Switch to Geometry Editing mode (Shift+F5) and edit the size of the Audio Volume so that it encompasses the play area of the map. (see capture_8.png)
- In Content Browser, open the FirstPersonCharacter Blueprint Class, located in Content/FirstPersonBP/Blueprints.
- In the top right corner of the “Spawn projectile” comment box in the bottom portion of the blueprint, replace the Play Sound at Location and GetActorLocation nodes with Play Event at Location and GetActorTransform nodes, wiring up the logic as the other nodes were wired up. Make sure the FMOD Event is selected under the Event pin of the Play Event at Location node. (see capture_9.png)
- Save the Blueprint and the Unreal Map. The Blueprint might need to be recompiled.
- In the map, press Play (Alt+P) to test the map.
- Observe the reverb on the FMOD Event as you fire your weapon.
EXPECTED RESULTS:
When the gun is fired, the FMOD Event plays with a reverb tail of at least a couple full seconds. Since my Reverb Time parameter in the mixer snapshot is set to 10, and the mixer group’s reverb send is set to -12 dB in the mixer snapshot, I would expect to hear a reverb tail that lasts close to 10 seconds.
ACTUAL RESULTS:
When the gun is fired, the FMOD Event plays with hardly any reverb at all. If you spam the fire button you can kind of start to hear the reverb between the gun shots, but the reverb tail is abruptly cut off as soon as the Event is finished playing. It sounds like the reverb time was set to less than 1 second long.
IMAGES:
- capture_1.png
- capture_2.png
- capture_3.png
- capture_4.png
- capture_5.png
- capture_6.png
- capture_7.png
- capture_8.png
- capture_9.png
SOFTWARE VERSIONS:
Windows 7 Professional Service Pack 1
Unreal Engine 4.12.4
FMOD Studio 1.08.07, 64-bit, Build #77241
HARDWARE:
Intel Core i7-4790 CPU @ 3.60 GHz
32 GB of RAM
64-bit Operating System