What is the difference between UAudioComponent and SoundCue?

What are the differences and when to use each one instead of the other?
Thanks in Advance

First of all, those are not comparable objects =P

An AudioComponent is an actual object you can keep around and call functions on, it happens to play audio. Like the name says, it’s a component.

A SoundCue is an asset (like a material) which can setup some logic for an audio. For practical purposes is the audio file you play. it would be the “advanced” version of a SoundWave (a regular audio file).

AudioComponent would be used when you need to manipulate the audio on the long run, eg: an engine sound, or the music for a level. A live sound that’s constantly there. the audio asset it plays could be a SoundWave or SoundCue.
For example, it has Fade-In and Fade-Out functions. You can set its volume. Or change the audio its playing.

SoundCue, just like Materials, can have editable parameters, accessible from C++ or Blueprints.

Now, when you just “play a sound at location”, you’re playing a one-off sound.

When you “spawn audio at location”, you’re creating an audio component.

Both could play SoundWaves or SoundCues. But the SpawnAudioAtLocation returns an AudioComponent you can manipulate.

Audio component is simply representation of sound in the world, like mesh components for models