@@ -417,14 +417,14 @@ internal NetworkObject InstantiateAndSpawnNoParameterChecks(NetworkObject networ
417417 /// Gets the right NetworkObject prefab instance to spawn. If a handler is registered or there is an override assigned to the
418418 /// passed in globalObjectIdHash value, then that is what will be instantiated, spawned, and returned.
419419 /// </summary>
420- internal NetworkObject GetNetworkObjectToSpawn ( uint globalObjectIdHash , ulong ownerId , Vector3 position = default , Quaternion rotation = default , bool isScenePlaced = false )
420+ internal NetworkObject GetNetworkObjectToSpawn ( uint globalObjectIdHash , ulong ownerId , Vector3 ? position , Quaternion ? rotation , bool isScenePlaced = false )
421421 {
422422 NetworkObject networkObject = null ;
423423 // If the prefab hash has a registered INetworkPrefabInstanceHandler derived class
424424 if ( NetworkManager . PrefabHandler . ContainsHandler ( globalObjectIdHash ) )
425425 {
426426 // Let the handler spawn the NetworkObject
427- networkObject = NetworkManager . PrefabHandler . HandleNetworkPrefabSpawn ( globalObjectIdHash , ownerId , position , rotation ) ;
427+ networkObject = NetworkManager . PrefabHandler . HandleNetworkPrefabSpawn ( globalObjectIdHash , ownerId , position ?? default , rotation ?? default ) ;
428428 networkObject . NetworkManagerOwner = NetworkManager ;
429429 }
430430 else
@@ -476,6 +476,8 @@ internal NetworkObject GetNetworkObjectToSpawn(uint globalObjectIdHash, ulong ow
476476 {
477477 // Create prefab instance
478478 networkObject = UnityEngine . Object . Instantiate ( networkPrefabReference ) . GetComponent < NetworkObject > ( ) ;
479+ networkObject . transform . position = position ?? networkObject . transform . position ;
480+ networkObject . transform . rotation = rotation ?? networkObject . transform . rotation ;
479481 networkObject . NetworkManagerOwner = NetworkManager ;
480482 networkObject . PrefabGlobalObjectIdHash = globalObjectIdHash ;
481483 }
0 commit comments