Skip to content

Commit f737e0c

Browse files
update
Additional adjustments for this fix.
1 parent 875af86 commit f737e0c

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

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

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1062,7 +1062,8 @@ internal NetworkObject GetSceneRelativeInSceneNetworkObject(uint globalObjectIdH
10621062
/// <param name="targetClientIds">array of client identifiers to receive the scene event message</param>
10631063
private void SendSceneEventData(uint sceneEventId, ulong[] targetClientIds)
10641064
{
1065-
if (targetClientIds.Length == 0 && !NetworkManager.DistributedAuthorityMode)
1065+
var distributedAuthority = NetworkManager.DistributedAuthorityMode;
1066+
if (targetClientIds.Length == 0 && !distributedAuthority)
10661067
{
10671068
// This would be the Host/Server with no clients connected
10681069
// Silently return as there is nothing to be done
@@ -1072,7 +1073,7 @@ private void SendSceneEventData(uint sceneEventId, ulong[] targetClientIds)
10721073
sceneEvent.SenderClientId = NetworkManager.LocalClientId;
10731074

10741075
// Send related message to the CMB service
1075-
if (NetworkManager.DistributedAuthorityMode && NetworkManager.CMBServiceConnection && HasSceneAuthority())
1076+
if (distributedAuthority && NetworkManager.CMBServiceConnection && HasSceneAuthority())
10761077
{
10771078
sceneEvent.TargetClientId = NetworkManager.ServerClientId;
10781079
var message = new SceneEventMessage
@@ -1092,7 +1093,7 @@ private void SendSceneEventData(uint sceneEventId, ulong[] targetClientIds)
10921093
{
10931094
EventData = sceneEvent,
10941095
};
1095-
var sendTarget = NetworkManager.CMBServiceConnection ? NetworkManager.ServerClientId : clientId;
1096+
var sendTarget = distributedAuthority && !NetworkManager.DAHost ? NetworkManager.ServerClientId : clientId;
10961097
var size = NetworkManager.ConnectionManager.SendMessage(ref message, k_DeliveryType, sendTarget);
10971098
NetworkManager.NetworkMetrics.TrackSceneEventSent(clientId, (uint)sceneEvent.SceneEventType, SceneNameFromHash(sceneEvent.SceneHash), size);
10981099
}

0 commit comments

Comments
 (0)