Native Unreal vs Middleware

Native UE4 is sufficient for authoring good vehicle audio, especially if you use and learn BP. Implementing it via Sound Cue’s is probably going to be tricky. I’d implement it directly in BP with audio components and use UE4 curves to map game/vehicle parameters to audio parameters (volume/pitch scaling).

Here’s a doc on the UE4 curve editor:

For traditional game vehicle audio, volume/pitch scaling is sufficient. Volume allows you to cross-fade between different loops of different engine behaviors. So a usually a blend between different engine loops along with a pitch-shift of each can produce good results.

Time-stretching (i.e. changing duration without causing a pitch shift) can be a more expensive DSP operation and doesn’t usually yield quality results for the CPU expense since it usually involves a Fourier transform and re-synthesis. Y

UE4’s audio components allow you to parameterize a sound’s volume/pitch scale directly so BP/audio components are sufficient for vehicle audio.

So basically with BP you can author your own curves, define your own BP structs which define and control the data you want to use. Then in the BP itself, you’d map acceleration/velocity/power of the vehicle to audio parameters.

Make sure you write your BP so that it’s generalizeable so you can easily swap out sounds that you want to use, define different curves, etc, without having to totally rewrite your BP script. That way you can potentially have one BP script used for many different vehicle types.

wWise or FMOD will require RTPC parameter communication to their tool and you’ll end up doing roughly the same tasks (mapping game parameters to curves), but it won’t be as direct and flexible as what you can accomplish in BP.

One interesting possibility, if you’re up for experimentation, is to use the new granular synthesizer in the new audio engine for vehicle audio. Granulation is the basis of most of the “advanced” sounding vehicle sounds you might here since it can approximate a “time stretch without pitch shifting” effect (effectively by playing particles of sound) and can produce a better/more realistic engine sound. I believe this is the technique used in games like Need for Speed, etc. To use the granulator (assuming you can wrap your head around using it at all), you’d use similar curve functions to map game parameters to audio parameters, except instead of just volume and pitch, you’d be able to change scrub position, grain density, grain randomization, grain type, etc.