@@ -1458,7 +1458,10 @@ internal NetworkSceneHandle GetSceneOriginHandle()
14581458 {
14591459 if ( SceneOriginHandle . IsEmpty ( ) && IsSpawned && IsSceneObject != false )
14601460 {
1461- throw new Exception ( $ "{ nameof ( GetSceneOriginHandle ) } called when { nameof ( SceneOriginHandle ) } is still zero but the { nameof ( NetworkObject ) } is already spawned!") ;
1461+ if ( NetworkManager . LogLevel <= LogLevel . Error )
1462+ {
1463+ NetworkLog . LogErrorServer ( $ "{ nameof ( GetSceneOriginHandle ) } called when { nameof ( SceneOriginHandle ) } is still zero but the { nameof ( NetworkObject ) } is already spawned!") ;
1464+ }
14621465 }
14631466 return ! SceneOriginHandle . IsEmpty ( ) ? SceneOriginHandle : gameObject . scene . handle ;
14641467 }
@@ -1481,31 +1484,47 @@ public void NetworkShow(ulong clientId)
14811484 {
14821485 if ( ! IsSpawned )
14831486 {
1484- throw new SpawnStateException ( "Object is not spawned" ) ;
1487+ if ( NetworkManagerOwner . LogLevel <= LogLevel . Normal )
1488+ {
1489+ NetworkLog . LogWarning ( $ "Trying to show { name } but is not spawned!") ;
1490+ }
14851491 }
14861492
14871493 if ( ! HasAuthority )
14881494 {
14891495 if ( NetworkManagerOwner . DistributedAuthorityMode )
14901496 {
1491- throw new NotServerException ( $ "Only the owner-authority can change visibility when distributed authority mode is enabled!") ;
1497+ if ( NetworkManagerOwner . LogLevel <= LogLevel . Normal )
1498+ {
1499+ NetworkLog . LogWarning ( $ "Only the owner-authority of { name } can change it's visibility when distributed authority mode is enabled!") ;
1500+ }
14921501 }
14931502 else
14941503 {
1495- throw new NotServerException ( "Only the authority can change visibility" ) ;
1504+ if ( NetworkManagerOwner . LogLevel <= LogLevel . Normal )
1505+ {
1506+ NetworkLog . LogWarning ( $ "Only the authority of { name } can change it's visibility!") ;
1507+ }
14961508 }
14971509 }
14981510
1511+ //CHECK this logic
14991512 if ( Observers . Contains ( clientId ) )
15001513 {
15011514 if ( NetworkManagerOwner . DistributedAuthorityMode )
15021515 {
1503- Debug . LogError ( $ "The object { name } is already visible to Client-{ clientId } !") ;
1516+ if ( NetworkManagerOwner . LogLevel <= LogLevel . Normal )
1517+ {
1518+ NetworkLog . LogError ( $ "The object { name } is already visible to Client-{ clientId } !") ;
1519+ }
15041520 return ;
15051521 }
15061522 else
15071523 {
1508- throw new NotServerException ( "Only server can change visibility" ) ;
1524+ if ( NetworkManagerOwner . LogLevel <= LogLevel . Normal )
1525+ {
1526+ NetworkLog . LogWarning ( $ "Only the server of { name } can change it's visibility!") ;
1527+ }
15091528 }
15101529 }
15111530
@@ -1568,18 +1587,27 @@ public void NetworkHide(ulong clientId)
15681587 {
15691588 if ( ! IsSpawned )
15701589 {
1571- throw new SpawnStateException ( "Object is not spawned" ) ;
1590+ if ( NetworkManager . LogLevel <= LogLevel . Error )
1591+ {
1592+ NetworkLog . LogErrorServer ( $ "[{ name } ][Attempted NetworkHide while { nameof ( NetworkObject ) } is not spawned!]") ;
1593+ }
15721594 }
15731595
15741596 if ( ! HasAuthority && ! NetworkManagerOwner . DAHost )
15751597 {
15761598 if ( NetworkManagerOwner . DistributedAuthorityMode )
15771599 {
1578- throw new NotServerException ( $ "Only the owner-authority can change visibility when distributed authority mode is enabled!") ;
1600+ if ( NetworkManager . LogLevel <= LogLevel . Error )
1601+ {
1602+ NetworkLog . LogErrorServer ( $ "[{ name } ][Only the owner-authority can change visibility when distributed authority mode is enabled!]") ;
1603+ }
15791604 }
15801605 else
15811606 {
1582- throw new NotServerException ( "Only the authority can change visibility" ) ;
1607+ if ( NetworkManager . LogLevel <= LogLevel . Error )
1608+ {
1609+ NetworkLog . LogErrorServer ( $ "[{ name } ][Only the authority can change visibility!]") ;
1610+ }
15831611 }
15841612 }
15851613
@@ -1589,9 +1617,9 @@ public void NetworkHide(ulong clientId)
15891617 {
15901618 if ( NetworkManagerOwner . LogLevel <= LogLevel . Developer )
15911619 {
1592- Debug . LogWarning ( $ "{ name } is already hidden from Client-{ clientId } ! (ignoring)") ;
1593- return ;
1620+ NetworkLog . LogWarning ( $ "[{ name } ][{ nameof ( NetworkObject ) } already hidden from Client-{ clientId } ! (ignoring)]") ;
15941621 }
1622+ return ;
15951623 }
15961624 Observers . Remove ( clientId ) ;
15971625
@@ -1724,18 +1752,27 @@ internal void SpawnInternal(bool destroyWithScene, ulong ownerClientId, bool pla
17241752
17251753 if ( ! NetworkManagerOwner . IsListening )
17261754 {
1727- throw new NotListeningException ( $ "{ nameof ( NetworkManagerOwner ) } is not listening, start a server or host before spawning objects") ;
1755+ if ( NetworkManagerOwner . LogLevel <= LogLevel . Developer )
1756+ {
1757+ NetworkLog . LogErrorServer ( $ "[{ name } ][{ nameof ( NetworkManagerOwner ) } is not listening, start a server or host before spawning objects]") ;
1758+ }
17281759 }
17291760
17301761 if ( ( ! NetworkManagerOwner . IsServer && ! NetworkManagerOwner . DistributedAuthorityMode ) || ( NetworkManagerOwner . DistributedAuthorityMode && ! NetworkManagerOwner . LocalClient . IsSessionOwner && NetworkManagerOwner . LocalClientId != ownerClientId ) )
17311762 {
17321763 if ( NetworkManagerOwner . DistributedAuthorityMode )
17331764 {
1734- throw new NotServerException ( $ "When distributed authority mode is enabled, you can only spawn NetworkObjects that belong to the local instance! Local instance id { NetworkManagerOwner . LocalClientId } is not the same as the assigned owner id: { ownerClientId } !") ;
1765+ if ( NetworkManagerOwner . LogLevel <= LogLevel . Developer )
1766+ {
1767+ NetworkLog . LogError ( $ "[{ name } ][When distributed authority mode is enabled, you can only spawn NetworkObjects that belong to the local instance! Local instance id { NetworkManagerOwner . LocalClientId } is not the same as the assigned owner id: { ownerClientId } !]") ;
1768+ }
17351769 }
17361770 else
17371771 {
1738- throw new NotServerException ( $ "Only server can spawn { nameof ( NetworkObject ) } s") ;
1772+ if ( NetworkManagerOwner . LogLevel <= LogLevel . Developer )
1773+ {
1774+ NetworkLog . LogError ( $ "[{ name } ][Only server can spawn { nameof ( NetworkObject ) } s]") ;
1775+ }
17391776 }
17401777 }
17411778
@@ -2256,7 +2293,10 @@ private void OnTransformParentChanged()
22562293 return ;
22572294 }
22582295 transform . parent = m_CachedParent ;
2259- Debug . LogException ( new NotListeningException ( $ "[{ name } ] { nameof ( networkManager ) } is not listening, start a server or host before re-parenting") ) ;
2296+ if ( NetworkManagerOwner . LogLevel <= LogLevel . Developer )
2297+ {
2298+ NetworkLog . LogError ( $ "[{ name } ] { nameof ( networkManager ) } is not listening, start a server or host before re-parenting") ;
2299+ }
22602300 return ;
22612301 }
22622302
@@ -2273,7 +2313,10 @@ private void OnTransformParentChanged()
22732313 else
22742314 {
22752315 transform . parent = m_CachedParent ;
2276- Debug . LogException ( new SpawnStateException ( $ "[{ name } ] { nameof ( NetworkObject ) } can only be re-parented after being spawned") ) ;
2316+ if ( NetworkManagerOwner . LogLevel <= LogLevel . Developer )
2317+ {
2318+ NetworkLog . LogError ( $ "[{ name } ] { nameof ( NetworkObject ) } can only be re-parented after being spawned!") ;
2319+ }
22772320 }
22782321 return ;
22792322 }
@@ -2289,11 +2332,17 @@ private void OnTransformParentChanged()
22892332 {
22902333 if ( networkManager . DistributedAuthorityMode )
22912334 {
2292- NetworkLog . LogError ( $ "[{ name } ][Not Owner] Only the owner-authority of child { gameObject . name } 's { nameof ( NetworkObject ) } component can re-parent it!") ;
2335+ if ( NetworkManagerOwner . LogLevel <= LogLevel . Developer )
2336+ {
2337+ NetworkLog . LogError ( $ "[{ name } ][Not Owner] Only the owner-authority of child { gameObject . name } 's { nameof ( NetworkObject ) } component can re-parent it!") ;
2338+ }
22932339 }
22942340 else
22952341 {
2296- Debug . LogException ( new NotServerException ( $ "[{ name } ] Only the server can re-parent { nameof ( NetworkObject ) } s") ) ;
2342+ if ( NetworkManagerOwner . LogLevel <= LogLevel . Developer )
2343+ {
2344+ NetworkLog . LogError ( $ "[{ name } ] Only the server can re-parent { nameof ( NetworkObject ) } s") ;
2345+ }
22972346 }
22982347 }
22992348 return ;
@@ -2307,14 +2356,20 @@ private void OnTransformParentChanged()
23072356 {
23082357 transform . parent = m_CachedParent ;
23092358 AuthorityAppliedParenting = false ;
2310- Debug . LogException ( new InvalidParentException ( $ "[{ name } ] Invalid parenting, { nameof ( NetworkObject ) } moved under a non-{ nameof ( NetworkObject ) } parent") ) ;
2359+ if ( NetworkManagerOwner . LogLevel <= LogLevel . Developer )
2360+ {
2361+ NetworkLog . LogError ( $ "[{ name } ] Invalid parenting, { nameof ( NetworkObject ) } moved under a non-{ nameof ( NetworkObject ) } parent") ;
2362+ }
23112363 return ;
23122364 }
23132365 else if ( ! parentObject . IsSpawned )
23142366 {
23152367 transform . parent = m_CachedParent ;
23162368 AuthorityAppliedParenting = false ;
2317- Debug . LogException ( new SpawnStateException ( $ "[{ name } ] { nameof ( NetworkObject ) } can only be re-parented under another spawned { nameof ( NetworkObject ) } ") ) ;
2369+ if ( NetworkManagerOwner . LogLevel <= LogLevel . Developer )
2370+ {
2371+ NetworkLog . LogError ( $ "[{ name } ] { nameof ( NetworkObject ) } can only be re-parented under another spawned { nameof ( NetworkObject ) } ") ;
2372+ }
23182373 return ;
23192374 }
23202375
@@ -2531,12 +2586,15 @@ internal void InvokeBehaviourNetworkSpawn()
25312586 // This assures all NetworkVariables and RPC related tables have been initialized
25322587 // prior to invoking OnNetworkSpawn so cross NetworkBehaviour:
25332588 // - accessing of NetworkVariables will work correctly.
2534- // - invocation of RPCs will work properly (and not throw exception under certain scenarios)
2589+ // - invocation of RPCs will work properly (and not throw exception under certain scenarios) CHECK this comment about exceptions
25352590 foreach ( var childBehaviour in ChildNetworkBehaviours )
25362591 {
25372592 if ( ! childBehaviour . gameObject . activeInHierarchy )
25382593 {
2539- Debug . LogWarning ( $ "{ GenerateDisabledNetworkBehaviourWarning ( childBehaviour ) } ") ;
2594+ if ( NetworkManagerOwner . LogLevel <= LogLevel . Developer )
2595+ {
2596+ NetworkLog . LogWarning ( $ "{ GenerateDisabledNetworkBehaviourWarning ( childBehaviour ) } ") ;
2597+ }
25402598 continue ;
25412599 }
25422600 childBehaviour . InternalOnNetworkSpawn ( ) ;
@@ -2992,6 +3050,7 @@ public void Serialize(FastBufferWriter writer)
29923050
29933051 if ( ! writer . TryBeginWrite ( writeSize ) )
29943052 {
3053+ //CHECK should we remove this exception?
29953054 throw new OverflowException ( "Could not serialize SceneObject: Out of buffer space." ) ;
29963055 }
29973056
@@ -3079,6 +3138,7 @@ public void Deserialize(FastBufferReader reader)
30793138 // Try to begin reading the remaining bytes
30803139 if ( ! reader . TryBeginRead ( readSize ) )
30813140 {
3141+ //CHECK should we remove this exception too?
30823142 throw new OverflowException ( "Could not deserialize SceneObject: Reading past the end of the buffer" ) ;
30833143 }
30843144
@@ -3280,6 +3340,7 @@ internal static NetworkObject Deserialize(in SerializedObject serializedObject,
32803340 }
32813341 catch ( Exception ex )
32823342 {
3343+ //CHECK exception too
32833344 Debug . LogException ( ex ) ;
32843345 }
32853346
@@ -3327,7 +3388,10 @@ internal static NetworkObject Deserialize(in SerializedObject serializedObject,
33273388 // Spawn the NetworkObject
33283389 if ( networkObject . IsSpawned )
33293390 {
3330- throw new SpawnStateException ( $ "[{ networkObject . name } ] Object-{ networkObject . NetworkObjectId } is already spawned!") ;
3391+ if ( NetworkManager . Singleton . LogLevel <= LogLevel . Developer )
3392+ {
3393+ NetworkLog . LogErrorServer ( $ "[{ networkObject . name } ] Object-{ networkObject . NetworkObjectId } is already spawned!") ;
3394+ }
33313395 }
33323396
33333397 // Invoke the non-authority local spawn method
0 commit comments