Mute 1 audio channel while preserving spatialized 3D sound?

I’m working on a Virtual Reality simulation, where the user walks around in a 3D environment, but they are deaf on one ear. Because it is a 3D environment, I want the audiosources to be spatialized (i.e. Spatial Blend is set to 3D), but I can’t figure out a way to e.g. mute the right channel, so that audio only comes through the left ear.

Any help is appreciated. Thanks in advance!

Simplest way is probably to add a script to the game object that your audio listener is attached to and implement an OnAudioFilterRead method that zeroes out the sample data for whichever channel you want to mute.

this will do it:

using UnityEngine;

public class MuteChannel : MonoBehaviour
{
    public enum ChannelToMute { left, right, none };
    public ChannelToMute channelToMute = ChannelToMute.none;

    private void OnAudioFilterRead(float[] data, int channels)
    {
        if (channelToMute == ChannelToMute.none) return;
        for (int i = (int)channelToMute; i < data.Length; i += channels)
            data *= 0f;*

}
}