Skip to content

Commit ecc86fb

Browse files
author
Josie Messa
authored
fix: Incorrect spawn object sent metrics (#1298)
* Only track objects spawned when a message is sent * Track player object spawn when new player joins * fix failing test
1 parent 526215b commit ecc86fb

File tree

3 files changed

+3
-4
lines changed

3 files changed

+3
-4
lines changed

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1610,7 +1610,8 @@ internal void ApprovedPlayerSpawn(ulong clientId, uint playerPrefabHash)
16101610
message.ObjectInfo.Header.HasParent = false;
16111611
message.ObjectInfo.Header.IsPlayerObject = true;
16121612
message.ObjectInfo.Header.OwnerClientId = clientId;
1613-
SendMessage(message, NetworkDelivery.ReliableFragmentedSequenced, clientPair.Key);
1613+
var size = SendMessage(message, NetworkDelivery.ReliableFragmentedSequenced, clientPair.Key);
1614+
NetworkMetrics.TrackObjectSpawnSent(clientPair.Key, ConnectedClients[clientId].PlayerObject, size);
16141615
}
16151616
}
16161617
}

com.unity.netcode.gameobjects/Runtime/Spawning/NetworkSpawnManager.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -439,8 +439,6 @@ private void SpawnNetworkObjectLocallyCommon(NetworkObject networkObject, ulong
439439
SpawnedObjects.Add(networkObject.NetworkObjectId, networkObject);
440440
SpawnedObjectsList.Add(networkObject);
441441

442-
NetworkManager.NetworkMetrics.TrackObjectSpawnSent(NetworkManager.LocalClientId, networkObject, 0);
443-
444442
if (ownerClientId != null)
445443
{
446444
if (NetworkManager.IsServer)

com.unity.netcode.gameobjects/Tests/Runtime/Metrics/NetworkObjectMetricsTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public IEnumerator TrackNetworkObjectSpawnSentMetric()
5151
yield return waitForMetricEvent.WaitForMetricsReceived();
5252

5353
var objectSpawnedSentMetricValues = waitForMetricEvent.AssertMetricValuesHaveBeenFound();
54-
Assert.AreEqual(2, objectSpawnedSentMetricValues.Count);
54+
Assert.AreEqual(1, objectSpawnedSentMetricValues.Count);
5555

5656
var objectSpawned = objectSpawnedSentMetricValues.Last();
5757
Assert.AreEqual(Client.LocalClientId, objectSpawned.Connection.Id);

0 commit comments

Comments
 (0)