diff --git a/com.unity.netcode.gameobjects/Runtime/Messaging/Messages/ConnectionApprovedMessage.cs b/com.unity.netcode.gameobjects/Runtime/Messaging/Messages/ConnectionApprovedMessage.cs index 7b9a87fe9c..ace61edac1 100644 --- a/com.unity.netcode.gameobjects/Runtime/Messaging/Messages/ConnectionApprovedMessage.cs +++ b/com.unity.netcode.gameobjects/Runtime/Messaging/Messages/ConnectionApprovedMessage.cs @@ -5,9 +5,12 @@ namespace Unity.Netcode { internal struct ServiceConfig : INetworkSerializable { + private const int k_AddServerRedistribution = 1; + public uint Version; public bool IsRestoredSession; public ulong CurrentSessionOwner; + public bool ServerRedistribution; public void NetworkSerialize(BufferSerializer serializer) where T : IReaderWriter { @@ -16,12 +19,22 @@ public void NetworkSerialize(BufferSerializer serializer) where T : IReade BytePacker.WriteValueBitPacked(serializer.GetFastBufferWriter(), Version); serializer.SerializeValue(ref IsRestoredSession); BytePacker.WriteValueBitPacked(serializer.GetFastBufferWriter(), CurrentSessionOwner); + + if (Version >= k_AddServerRedistribution) + { + serializer.SerializeValue(ref ServerRedistribution); + } } else { ByteUnpacker.ReadValueBitPacked(serializer.GetFastBufferReader(), out Version); serializer.SerializeValue(ref IsRestoredSession); ByteUnpacker.ReadValueBitPacked(serializer.GetFastBufferReader(), out CurrentSessionOwner); + + if (Version >= k_AddServerRedistribution) + { + serializer.SerializeValue(ref ServerRedistribution); + } } } } diff --git a/com.unity.netcode.gameobjects/Runtime/Messaging/Messages/ConnectionRequestMessage.cs b/com.unity.netcode.gameobjects/Runtime/Messaging/Messages/ConnectionRequestMessage.cs index d8e60d2537..d5f19c2c00 100644 --- a/com.unity.netcode.gameobjects/Runtime/Messaging/Messages/ConnectionRequestMessage.cs +++ b/com.unity.netcode.gameobjects/Runtime/Messaging/Messages/ConnectionRequestMessage.cs @@ -12,7 +12,8 @@ internal struct ClientConfig : INetworkSerializable /// is not bypass feature compatible. /// private const int k_BypassFeatureCompatible = 1; - public int Version => k_BypassFeatureCompatible; + private const int k_ServerDistributionCompatible = k_BypassFeatureCompatible + 1; + public int Version => k_ServerDistributionCompatible; public uint TickRate; public bool EnableSceneManagement;