Scaling or Overriding Max DIstance for VR Game when Switching to God Mode

I am working on a Quest 3 Unity game where you can switch to a 3rd person god mode like view. Your hands can still interact with the environment, but there is also your character moving on the ground. The listener is on the camera and obviously all sounds with short max attenuation go silent.

Is there a way to scale globally distance at the listener level without huge performance costs?

I was thinking about 3 solutions:

  1. Automating max distance on all SFX with a global parameter to double it in size, but I am worried about performance and losing the ability to create custom curves with a gain plugin

  2. Switch to an audio listener on the player, but since we are using an HRTF spatializer, sounds behind the player will be processed “wrong”, especially for grab and release sounds

  3. Change the distance unit from 1 to 1 to a different ration

Any suggestions?

My primary recommendation would be to specify an attenuation position that is attached to the player character when setting your listener’s 3D attributes. If you’re using the Studio Listener component, the “Attenuation Object” field is used for this.

Doing so will separate the attributes used for panning (i.e. the camera’s position) from the position used for attenuation (i.e. the player character), which should allow you to zoom the camera out to 3rd person while ensuring attenuation remains the same. I can’t guarantee that this will have the desired effect when using a 3rd party HRTF-based spatializer, but please give it a try and let me know how it goes.