Skip to content

Commit 30d23bc

Browse files
authored
fix: NetworkManager property more robust on NetworkBehaviour (#2257)
fix: more robust checks around NetworkObjects being null
1 parent 2c69184 commit 30d23bc

File tree

1 file changed

+21
-3
lines changed

1 file changed

+21
-3
lines changed

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

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,18 @@ internal string GenerateObserverErrorMessage(ClientRpcParams clientRpcParams, ul
286286
/// Gets the NetworkManager that owns this NetworkBehaviour instance
287287
/// See note around `NetworkObject` for how there is a chicken / egg problem when we are not initialized
288288
/// </summary>
289-
public NetworkManager NetworkManager => NetworkObject.NetworkManager;
289+
public NetworkManager NetworkManager
290+
{
291+
get
292+
{
293+
if (NetworkObject?.NetworkManager != null)
294+
{
295+
return NetworkObject?.NetworkManager;
296+
}
297+
298+
return NetworkManager.Singleton;
299+
}
300+
}
290301

291302
/// <summary>
292303
/// If a NetworkObject is assigned, it will return whether or not this NetworkObject
@@ -349,9 +360,16 @@ public NetworkObject NetworkObject
349360
{
350361
get
351362
{
352-
if (m_NetworkObject == null)
363+
try
364+
{
365+
if (m_NetworkObject == null)
366+
{
367+
m_NetworkObject = GetComponentInParent<NetworkObject>();
368+
}
369+
}
370+
catch (Exception)
353371
{
354-
m_NetworkObject = GetComponentInParent<NetworkObject>();
372+
return null;
355373
}
356374

357375
// ShutdownInProgress check:

0 commit comments

Comments
 (0)