In first person games the listener’s panning and attenuation settings correspond to the position of the camera. The player sees and hears the world based on the player’s head and therefore camera position. In third person games the camera and the player’s position are detached from each other. In this case we usually want to pan the sounds in the world based on the camera position and rotation and attenuate based on the player’s position.
We can use the Set Audio Listener Override node to change the default listener behaviour. In this example I’m adding the Set Audio Listener Override node to the ThirdPersonCharacter Blueprint:
Here we are getting the Location of a Scene Component named Listener and attaching it to the Location input pin of the override node. We also get the Camera rotation and attach it to to the Rotation input of the override node.
Alternatively, we can also get the relative rotation of the camera compared to the player’s position:
To get a reference to the Listener Scene Component, create it first in the Components tab and place it at your character’s head/ears position:
You then can easily drag the component to the Event Graph. That’s it! You should be able to hear the sounds in the game spatialized correctly accordingly to your camera’s and player’s position.