Skip to content

Commit 5e06bf1

Browse files
committed
fix: avoid throwing exception when using NetworkList without a NetworkManager (#2539)
1 parent 7ed7a52 commit 5e06bf1

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

com.unity.netcode.gameobjects/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ Additional documentation and release notes are available at [Multiplayer Documen
1717

1818
- Fixed issue where `NetworkVariable`s on a `NetworkBehaviour` could fail to synchronize changes if one has `NetworkVariableUpdateTraits` set and is dirty but is not ready to send. (#3465)
1919
- Fixed issue where when a client changes ownership via RPC the `NetworkBehaviour.OnOwnershipChanged` can result in identical previous and current owner identifiers. (#3434)
20+
- Fixed `NullReferenceException` on `NetworkList` when used without a NetworkManager in scene. (#2539)
2021

2122
### Changed
2223

com.unity.netcode.gameobjects/Runtime/NetworkVariable/Collections/NetworkList.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -425,7 +425,7 @@ public IEnumerator<T> GetEnumerator()
425425
public void Add(T item)
426426
{
427427
// check write permissions
428-
if (!CanClientWrite(m_NetworkBehaviour.NetworkManager.LocalClientId))
428+
if (m_NetworkManager && !CanClientWrite(m_NetworkManager.LocalClientId))
429429
{
430430
LogWritePermissionError();
431431
return;
@@ -452,7 +452,7 @@ public void Add(T item)
452452
public void Clear()
453453
{
454454
// check write permissions
455-
if (!CanClientWrite(m_NetworkBehaviour.NetworkManager.LocalClientId))
455+
if (m_NetworkManager && !CanClientWrite(m_NetworkManager.LocalClientId))
456456
{
457457
LogWritePermissionError();
458458
return;
@@ -490,7 +490,7 @@ public bool Contains(T item)
490490
public bool Remove(T item)
491491
{
492492
// check write permissions
493-
if (!CanClientWrite(m_NetworkBehaviour.NetworkManager.LocalClientId))
493+
if (m_NetworkManager && !CanClientWrite(m_NetworkManager.LocalClientId))
494494
{
495495
LogWritePermissionError();
496496
return false;
@@ -539,7 +539,7 @@ public int IndexOf(T item)
539539
public void Insert(int index, T item)
540540
{
541541
// check write permissions
542-
if (!CanClientWrite(m_NetworkBehaviour.NetworkManager.LocalClientId))
542+
if (m_NetworkManager && !CanClientWrite(m_NetworkManager.LocalClientId))
543543
{
544544
LogWritePermissionError();
545545
return;
@@ -575,7 +575,7 @@ public void Insert(int index, T item)
575575
public void RemoveAt(int index)
576576
{
577577
// check write permissions
578-
if (!CanClientWrite(m_NetworkBehaviour.NetworkManager.LocalClientId))
578+
if (m_NetworkManager && !CanClientWrite(m_NetworkManager.LocalClientId))
579579
{
580580
LogWritePermissionError();
581581
return;
@@ -608,7 +608,7 @@ public T this[int index]
608608
set
609609
{
610610
// check write permissions
611-
if (!CanClientWrite(m_NetworkBehaviour.NetworkManager.LocalClientId))
611+
if (m_NetworkManager && !CanClientWrite(m_NetworkManager.LocalClientId))
612612
{
613613
LogWritePermissionError();
614614
return;

0 commit comments

Comments
 (0)