From 1a726e8b9b094f19d997c831c21e06e1ff7ed143 Mon Sep 17 00:00:00 2001 From: hypercat101 Date: Thu, 16 Apr 2026 14:51:04 -0700 Subject: [PATCH 1/2] Fix IsLocalPlayerDeafened check to prevent null reference exceptions and add error logging for missing VoiceDataTransmitter --- NetProviders/FishNet/FishNetNetProvider.cs | 2 +- NetProviders/Mirror/MirrorNetProvider.cs | 2 +- NetProviders/Netick/NetickNetProvider.cs | 10 +++++++--- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/NetProviders/FishNet/FishNetNetProvider.cs b/NetProviders/FishNet/FishNetNetProvider.cs index aa067d7..13fbe2c 100644 --- a/NetProviders/FishNet/FishNetNetProvider.cs +++ b/NetProviders/FishNet/FishNetNetProvider.cs @@ -22,7 +22,7 @@ public class FishNetNetProvider : NetworkBehaviour, INetProvider public static IReadOnlyList Instances => instances; #endregion - bool INetProvider.IsLocalPlayerDeafened => LocalPlayerInstance.MetaVc.isDeafened; + bool INetProvider.IsLocalPlayerDeafened => LocalPlayerInstance != null && LocalPlayerInstance.MetaVc.isDeafened; public MetaVc MetaVc { get; private set; } diff --git a/NetProviders/Mirror/MirrorNetProvider.cs b/NetProviders/Mirror/MirrorNetProvider.cs index aca60b2..c4628b1 100644 --- a/NetProviders/Mirror/MirrorNetProvider.cs +++ b/NetProviders/Mirror/MirrorNetProvider.cs @@ -19,7 +19,7 @@ public class MirrorNetProvider : NetworkBehaviour, INetProvider public static IReadOnlyList Instances => instances; #endregion - bool INetProvider.IsLocalPlayerDeafened => LocalPlayerInstance.MetaVc.isDeafened; + bool INetProvider.IsLocalPlayerDeafened => LocalPlayerInstance != null && LocalPlayerInstance.MetaVc.isDeafened; public MetaVc MetaVc { get; private set; } diff --git a/NetProviders/Netick/NetickNetProvider.cs b/NetProviders/Netick/NetickNetProvider.cs index 193b4ff..234a51b 100644 --- a/NetProviders/Netick/NetickNetProvider.cs +++ b/NetProviders/Netick/NetickNetProvider.cs @@ -15,7 +15,7 @@ public class NetickNetProvider : NetworkBehaviour, INetProvider public static IReadOnlyList Instances => instances; #endregion - bool INetProvider.IsLocalPlayerDeafened => LocalPlayerInstance.MetaVc.isDeafened; + bool INetProvider.IsLocalPlayerDeafened => LocalPlayerInstance != null && LocalPlayerInstance.MetaVc.isDeafened; public MetaVc MetaVc { get; private set; } @@ -78,16 +78,20 @@ public override void NetworkDestroy() void INetProvider.RelayFrame(int index, double timestamp, ReadOnlySpan data) { + if (VoiceDataTransmitter == null) + { + Debug.LogError("[MetaVoiceChat] MetaVoiceChatNetick component is missing from the Sandbox prefab."); + return; + } + float additionalLatency = GetAdditionalLatency(); if (Sandbox.IsServer) { - //send the data to all clients VoiceDataTransmitter.SendServerVoiceToClients(index, timestamp, additionalLatency, data, playerID); } else { - //send the data from client to server VoiceDataTransmitter.SendVoiceDataToServer(index, timestamp, additionalLatency, data); } } From de3d245b6371c3f9382276943d704355a49a4cc3 Mon Sep 17 00:00:00 2001 From: hypercat101 Date: Thu, 16 Apr 2026 15:14:16 -0700 Subject: [PATCH 2/2] Add back the comments - Didnt mean to remove them --- NetProviders/Netick/NetickNetProvider.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/NetProviders/Netick/NetickNetProvider.cs b/NetProviders/Netick/NetickNetProvider.cs index 234a51b..5eb0e03 100644 --- a/NetProviders/Netick/NetickNetProvider.cs +++ b/NetProviders/Netick/NetickNetProvider.cs @@ -88,10 +88,12 @@ void INetProvider.RelayFrame(int index, double timestamp, ReadOnlySpan dat if (Sandbox.IsServer) { + //send the data to all clients VoiceDataTransmitter.SendServerVoiceToClients(index, timestamp, additionalLatency, data, playerID); } else { + //send the data from client to server VoiceDataTransmitter.SendVoiceDataToServer(index, timestamp, additionalLatency, data); } }