Automating Plugin Bypass

It appears that DSP plugins on Snapshots are always instantiated when running the game in UE4, even if the snapshot is not currently active. I currently have five Convolution Reverbs on five different snapshots and its eating up about 10% of our CPU. Ideally we would only have one Reverb active at any one time for the volume you’re currently in (two only when crossfading to another volume). Is there a way we can automate a plugin’s bypass mode, so that all of our snapshot based plugins are bypassed until the snapshot is active? Ideally we could pass this in as a game parameter via UE4 Blueprint, or even better yet, just automatically bypass all plugins in Studio when a snapshot is inactive. Thoughts?

Can you go into detail about what your snapshots are doing. Are they automating the convolution wet level, or a send level to a bus with the reverb?

If the convolution effect has 0 wet level, or 0 signal going into it, then it shouldn’t cost any CPU. If you can provide a little more detail we can track down what is going on in this case.

Hi Geoff, thanks for the reply, we’re using sends to a bus. I guess I assumed that plugins on inactive snapshots with their bus levels off would be inactive. For sure we can can automate the wet level of each reverb, that sounds like the easiest solution.

Thanks,
Jesse

The convolution reverb should go idle when either the wet level is automated down to 0, or if the send to that bus is automated down to -80db.

From what you’ve said, it sounds like you have a snapshot controlling the send level to a bus and you are still seeing a high cpu usage even when there is no more signal going into the effect. That shouldn’t be happening, so if you have more details or a studio capture, if you contact support@fmod.com then we can dig into why that is.

1 Like

I was actually just automating the bus return level, so there was still signal being processed. Now that Im also automating the wet level things seem to be in check. Thanks for the heads up!

Hi Geoff, I have a related question to the one above…Im now attempting to use the Pitch Shift plugin on one of our Main Busses, but only need it active during a special mode when a Snapshot is active. In order to manage CPU when the Snapshot is not active, do I need to put the Pitch Shift on its own Return and adjust the send level? (there is no Wet/Dry signal parameter such as with the Convolution Reverb question above). That seems odd for this type of plugin where I always want either 100 wet or 100% dry, but I cant think of another way.

Thanks!
Jesse

Hi Jesse, you’re correct, this is a very good point. The Pitch Shift effect doesn’t have any natural idle state so the only way to avoid having it consume CPU is to avoid sending signal to it. Our long term solution to this is to add a built in wet/dry parameter for each effect which you will be able to control via Snapshot. I will attach your question to this feature in our tracker.