Skip to content

Commit 3ed819b

Browse files
committed
fix: Scene loading for CMB Service
1 parent 05f2e3d commit 3ed819b

File tree

2 files changed

+78
-56
lines changed

2 files changed

+78
-56
lines changed

com.unity.netcode.gameobjects/Runtime/SceneManagement/NetworkSceneManager.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1071,6 +1071,18 @@ private void SendSceneEventData(uint sceneEventId, ulong[] targetClientIds)
10711071
var sceneEvent = SceneEventDataStore[sceneEventId];
10721072
sceneEvent.SenderClientId = NetworkManager.LocalClientId;
10731073

1074+
// Send related message to the CMB service
1075+
if (NetworkManager.DistributedAuthorityMode && NetworkManager.CMBServiceConnection && HasSceneAuthority())
1076+
{
1077+
sceneEvent.TargetClientId = NetworkManager.ServerClientId;
1078+
var message = new SceneEventMessage
1079+
{
1080+
EventData = sceneEvent,
1081+
};
1082+
var size = NetworkManager.ConnectionManager.SendMessage(ref message, k_DeliveryType, NetworkManager.ServerClientId);
1083+
NetworkManager.NetworkMetrics.TrackSceneEventSent(NetworkManager.ServerClientId, (uint)sceneEvent.SceneEventType, SceneNameFromHash(sceneEvent.SceneHash), size);
1084+
}
1085+
10741086
// Send to each individual client to assure only the in-scene placed NetworkObjects being observed by the client
10751087
// is serialized
10761088
foreach (var clientId in targetClientIds)

0 commit comments

Comments
 (0)