Skip to content

Commit bcf94a7

Browse files
fix
NetworkVariables of in-scene placed NetworkObjects not updating was due to the observers not being populated during the scene load event.
1 parent a038711 commit bcf94a7

2 files changed

Lines changed: 3 additions & 2 deletions

File tree

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -665,6 +665,7 @@ internal void SerializeScenePlacedObjects(FastBufferWriter writer)
665665

666666
// Write our count place holder (must not be packed!)
667667
writer.WriteValueSafe((ushort)0);
668+
var distributedAuthority = m_NetworkManager.DistributedAuthorityMode;
668669

669670
foreach (var keyValuePairByGlobalObjectIdHash in m_NetworkManager.SceneManager.ScenePlacedObjects)
670671
{
@@ -673,7 +674,7 @@ internal void SerializeScenePlacedObjects(FastBufferWriter writer)
673674
if (keyValuePairBySceneHandle.Value.Observers.Contains(TargetClientId))
674675
{
675676
// Serialize the NetworkObject
676-
var sceneObject = keyValuePairBySceneHandle.Value.GetMessageSceneObject(TargetClientId);
677+
var sceneObject = keyValuePairBySceneHandle.Value.GetMessageSceneObject(TargetClientId, distributedAuthority);
677678
sceneObject.Serialize(writer);
678679
numberOfObjects++;
679680
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1089,7 +1089,7 @@ internal void SendSpawnCallForObject(ulong clientId, NetworkObject networkObject
10891089

10901090
var message = new CreateObjectMessage
10911091
{
1092-
ObjectInfo = networkObject.GetMessageSceneObject(clientId),
1092+
ObjectInfo = networkObject.GetMessageSceneObject(clientId, NetworkManager.DistributedAuthorityMode),
10931093
IncludesSerializedObject = true,
10941094
UpdateObservers = NetworkManager.DistributedAuthorityMode,
10951095
ObserverIds = NetworkManager.DistributedAuthorityMode ? networkObject.Observers.ToArray() : null,

0 commit comments

Comments
 (0)