UNet Audio Help

I feel I may just not have a solid understanding of how this SHOULD work and I am approaching it the wrong way…

What I am looking to achieve is a gun shot sound that plays for the local player as it should(meaning it sounds like it was fired from the local gun). Then, have that same gun shot sound be heard by all other players within a certain area and drop off depending on how far away they are.

Right now I have it partially working. I can either have it sound perfect for local or for other players. I am having trouble accomplishing both.

The question I am confused on is… if the audio source plays the clip and that is where the settings for whether it’s 2d or 3d and fade distance blah blah blah, how can this sound correct for both a local player and other networked players. A local player should require it to be played as a 2d clip with play and a networked player needs to hear it as a 3d clip using playclipatpoint.

Obv I know this can be done… Please tell me what I am missing… Here is code below to demonstrate how I am calling this currently. I have a fairly long command method calling this. I didn’t care to paste because it’s not relevant. This is the way that allow other players to hear fine but it sounds strange locally.

 [ClientRpc]
    void RpcPlayFireSound(Vector3 GunShotPosition, string WeaponName)
    {
      AudioClip WepSound =  GetComponent<WeaponSounds>().ReturnWepSound(WeaponName);
        AudioSource.PlayClipAtPoint(WepSound, GunShotPosition);
    }

You would want to set the audio to 2D in OnStartLocalPlayer function, using AudioSource.spatialBlend. So the code would look like this:

public override void OnStartLocalPlayer () {
    referenceToAudioSource.spatialBlend = 0f;
}

Just change referenceToAudioSource to whatever name you use for the audio source.