Skip to content

Commit 5f7441c

Browse files
chore: adjust ConnectionRequestMessage to use ClientConfig version as opposed to NGO version (#3098)
* update This removes the NGO version number from the client configuration in favor of an incremented version number. * update removes the NetworkManager NGO version inspector view code.
1 parent e9b7ef4 commit 5f7441c

File tree

4 files changed

+16
-86
lines changed

4 files changed

+16
-86
lines changed

com.unity.netcode.gameobjects/Editor/NetworkManagerEditor.cs

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -48,12 +48,6 @@ public class NetworkManagerEditor : NetcodeEditorBase<NetworkManager>
4848
private SerializedProperty m_NetworkProfileMetrics;
4949
private SerializedProperty m_NetworkMessageMetrics;
5050

51-
#if CMB_SERVICE_DEVELOPMENT
52-
private SerializedProperty m_MajorVersion;
53-
private SerializedProperty m_MinorVersion;
54-
private SerializedProperty m_PatchVersion;
55-
#endif
56-
5751
private NetworkManager m_NetworkManager;
5852
private bool m_Initialized;
5953

@@ -125,11 +119,6 @@ private void Initialize()
125119
m_NetworkProfileMetrics = m_NetworkConfigProperty.FindPropertyRelative("NetworkProfileMetrics");
126120
#if MULTIPLAYER_TOOLS
127121
m_NetworkMessageMetrics = m_NetworkConfigProperty.FindPropertyRelative("NetworkMessageMetrics");
128-
#endif
129-
#if CMB_SERVICE_DEVELOPMENT
130-
m_MajorVersion = serializedObject.FindProperty(nameof(NetworkManager.MajorVersion));
131-
m_MinorVersion = serializedObject.FindProperty(nameof(NetworkManager.MinorVersion));
132-
m_PatchVersion = serializedObject.FindProperty(nameof(NetworkManager.PatchVersion));
133122
#endif
134123
m_RpcHashSizeProperty = m_NetworkConfigProperty.FindPropertyRelative("RpcHashSize");
135124
m_PrefabsList = m_NetworkConfigProperty
@@ -170,11 +159,6 @@ private void CheckNullProperties()
170159
#if MULTIPLAYER_TOOLS
171160
m_NetworkMessageMetrics = m_NetworkConfigProperty.FindPropertyRelative("NetworkMessageMetrics");
172161
#endif
173-
#if CMB_SERVICE_DEVELOPMENT
174-
m_MajorVersion = serializedObject.FindProperty(nameof(NetworkManager.MajorVersion));
175-
m_MinorVersion = serializedObject.FindProperty(nameof(NetworkManager.MinorVersion));
176-
m_PatchVersion = serializedObject.FindProperty(nameof(NetworkManager.PatchVersion));
177-
#endif
178162

179163
m_RpcHashSizeProperty = m_NetworkConfigProperty.FindPropertyRelative("RpcHashSize");
180164
m_PrefabsList = m_NetworkConfigProperty
@@ -192,13 +176,6 @@ private void DisplayNetworkManagerProperties()
192176
EditorGUILayout.PropertyField(m_LogLevelProperty);
193177
EditorGUILayout.Space();
194178

195-
#if CMB_SERVICE_DEVELOPMENT
196-
EditorGUILayout.LabelField("Version:", EditorStyles.boldLabel);
197-
EditorGUILayout.PropertyField(m_MajorVersion);
198-
EditorGUILayout.PropertyField(m_MinorVersion);
199-
EditorGUILayout.PropertyField(m_PatchVersion);
200-
EditorGUILayout.Space();
201-
#endif
202179
EditorGUILayout.LabelField("Network Settings", EditorStyles.boldLabel);
203180
#if MULTIPLAYER_SERVICES_SDK_INSTALLED
204181
EditorGUILayout.PropertyField(m_NetworkTopologyProperty);

com.unity.netcode.gameobjects/Runtime/Connection/NetworkConnectionManager.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -573,7 +573,6 @@ private void SendConnectionRequest()
573573

574574
if (NetworkManager.CMBServiceConnection)
575575
{
576-
message.ClientConfig.NGOVersion = NetworkManager.GetNGOVersion();
577576
message.ClientConfig.TickRate = NetworkManager.NetworkConfig.TickRate;
578577
message.ClientConfig.EnableSceneManagement = NetworkManager.NetworkConfig.EnableSceneManagement;
579578
}

com.unity.netcode.gameobjects/Runtime/Core/NetworkManager.cs

Lines changed: 0 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -887,29 +887,6 @@ internal T Value
887887
internal Override<ushort> PortOverride;
888888

889889

890-
[HideInInspector]
891-
[SerializeField]
892-
[Range(0, 255)]
893-
internal byte MajorVersion;
894-
[HideInInspector]
895-
[SerializeField]
896-
[Range(0, 255)]
897-
internal byte MinorVersion;
898-
[HideInInspector]
899-
[SerializeField]
900-
[Range(0, 255)]
901-
internal byte PatchVersion;
902-
903-
internal NGOVersion GetNGOVersion()
904-
{
905-
return new NGOVersion()
906-
{
907-
Major = MajorVersion,
908-
Minor = MinorVersion,
909-
Patch = PatchVersion
910-
};
911-
}
912-
913890
#if UNITY_EDITOR
914891
internal static INetworkManagerHelper NetworkManagerHelper;
915892

@@ -941,34 +918,13 @@ private PackageInfo GetPackageInfo(string packageName)
941918
return AssetDatabase.FindAssets("package").Select(AssetDatabase.GUIDToAssetPath).Where(x => AssetDatabase.LoadAssetAtPath<TextAsset>(x) != null).Select(PackageInfo.FindForAssetPath).Where(x => x != null).First(x => x.name == packageName);
942919
}
943920

944-
private void SetPackageVersion()
945-
{
946-
var packageInfo = GetPackageInfo("com.unity.netcode.gameobjects");
947-
if (packageInfo != null)
948-
{
949-
var versionSplit = packageInfo.version.Split(".");
950-
if (versionSplit.Length == 3)
951-
{
952-
MajorVersion = byte.Parse(versionSplit[0]);
953-
MinorVersion = byte.Parse(versionSplit[1]);
954-
PatchVersion = byte.Parse(versionSplit[2]);
955-
}
956-
}
957-
}
958-
959921
internal void OnValidate()
960922
{
961923
if (NetworkConfig == null)
962924
{
963925
return; // May occur when the component is added
964926
}
965927

966-
#if !CMB_SERVICE_DEVELOPMENT
967-
SetPackageVersion();
968-
#else
969-
Debug.Log($"Major:({MajorVersion}) Minor({MinorVersion}) Patch({PatchVersion})");
970-
#endif
971-
972928
if (GetComponentInChildren<NetworkObject>() != null)
973929
{
974930
if (NetworkLog.CurrentLogLevel <= LogLevel.Normal)

com.unity.netcode.gameobjects/Runtime/Messaging/Messages/ConnectionRequestMessage.cs

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,39 +2,37 @@
22

33
namespace Unity.Netcode
44
{
5-
internal struct NGOVersion : INetworkSerializable
6-
{
7-
public byte Major;
8-
public byte Minor;
9-
public byte Patch;
10-
11-
public void NetworkSerialize<T>(BufferSerializer<T> serializer) where T : IReaderWriter
12-
{
13-
serializer.SerializeValue(ref Major);
14-
serializer.SerializeValue(ref Minor);
15-
serializer.SerializeValue(ref Patch);
16-
}
17-
}
18-
5+
/// <summary>
6+
/// Only used when connecting to the distributed authority service
7+
/// </summary>
198
internal struct ClientConfig : INetworkSerializable
209
{
21-
public NGOVersion NGOVersion;
10+
/// <summary>
11+
/// We start at version 1, where anything less than version 1 on the service side
12+
/// is not bypass feature compatible.
13+
/// </summary>
14+
private const int k_BypassFeatureCompatible = 1;
15+
public int Version => k_BypassFeatureCompatible;
2216
public uint TickRate;
2317
public bool EnableSceneManagement;
2418

19+
// Only gets deserialized but should never be used unless testing
20+
public int RemoteClientVersion;
21+
2522
public void NetworkSerialize<T>(BufferSerializer<T> serializer) where T : IReaderWriter
2623
{
27-
serializer.SerializeNetworkSerializable(ref NGOVersion);
2824
if (serializer.IsWriter)
2925
{
3026
var writer = serializer.GetFastBufferWriter();
31-
writer.WriteValueSafe(TickRate);
27+
BytePacker.WriteValueBitPacked(writer, Version);
28+
BytePacker.WriteValueBitPacked(writer, TickRate);
3229
writer.WriteValueSafe(EnableSceneManagement);
3330
}
3431
else
3532
{
3633
var reader = serializer.GetFastBufferReader();
37-
reader.ReadValueSafe(out TickRate);
34+
ByteUnpacker.ReadValueBitPacked(reader, out RemoteClientVersion);
35+
ByteUnpacker.ReadValueBitPacked(reader, out TickRate);
3836
reader.ReadValueSafe(out EnableSceneManagement);
3937
}
4038
}

0 commit comments

Comments
 (0)