Actual Outcome
A new player prefab would not spawn in.
Expected Outcome
Player should spawn in via network manager.
Screenshots
If applicable, add screenshots to help explain your problem.
Environment
- OS: [Windows 10]
- Unity Version: [Unity 6.0 LTS]
- Netcode Version: [2.7.0]
- Netcode Commit: [e.g. https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/commit/ba418fa5b600ad9eb61fab0575f12fbecc2c6520]
- Netcode Topology: [Client-Server]
Additional Context
The full error that came up.
[Netcode] A ConnectionRequestMessage was received from a client when the connection has already been established. NetworkTransport: Unity.Netcode.Transports.UTP.UnityTransport UnityTransportProtocol: UnityTransport. This should not happen. Please report this to the Netcode for GameObjects team at https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/issues and include the following data: Message Size: 170. Message Content: 02 02 7d 9a e2 a5 21 b2 36 17 b3 11 46 c4 ca 04 01 2a b2 f1 50 01 e9 3a b6 d2 01 39 3b e8 2c 01 ab c9 50 60 01 53 a3 38 44 21 d3 f6 1c b8 01 7f 10 0d af 01 f3 a2 4a 4a 01 a6 22 89 97 01 e9 4e 31 0d 01 b5 fe 01 74 11 be 97 be 73 01 bd 23 d8 d0 01 58 aa fb 1c 01 9d 9a 5c 01 01 e9 51 97 17 01 8a f7 e7 83 01 ee 80 1f c6 01 42 7f 88 c6 01 97 a3 f5 46 01 c2 40 2e a3 01 4e 67 03 d2 01 00 00 00 00 01 00 00 00 00 01 00 00 00 00 01 00 00 00 00 01 00 00 00 00 01 00 00 00 00 01 00 00 00 00 01 15 20 0f e8 91 74 be df
UnityEngine.Debug:LogError (object)
Unity.Netcode.NetworkLog:LogError (string) (at ./Library/PackageCache/com.unity.netcode.gameobjects@bd2a018756ed/Runtime/Logging/NetworkLog.cs:34)
Unity.Netcode.NetworkManagerHooks:OnVerifyCanReceive (ulong,System.Type,Unity.Netcode.FastBufferReader,Unity.Netcode.NetworkContext&) (at ./Library/PackageCache/com.unity.netcode.gameobjects@bd2a018756ed/Runtime/Messaging/NetworkManagerHooks.cs:82)
Unity.Netcode.NetworkMessageManager:CanReceive (ulong,System.Type,Unity.Netcode.FastBufferReader,Unity.Netcode.NetworkContext&) (at ./Library/PackageCache/com.unity.netcode.gameobjects@bd2a018756ed/Runtime/Messaging/NetworkMessageManager.cs:315)
Unity.Netcode.NetworkMessageManager:HandleMessage (Unity.Netcode.NetworkMessageHeader&,Unity.Netcode.FastBufferReader,ulong,single,int) (at ./Library/PackageCache/com.unity.netcode.gameobjects@bd2a018756ed/Runtime/Messaging/NetworkMessageManager.cs:397)
Unity.Netcode.NetworkMessageManager:ProcessIncomingMessageQueue () (at ./Library/PackageCache/com.unity.netcode.gameobjects@bd2a018756ed/Runtime/Messaging/NetworkMessageManager.cs:448)
Unity.Netcode.NetworkManager:NetworkUpdate (Unity.Netcode.NetworkUpdateStage) (at ./Library/PackageCache/com.unity.netcode.gameobjects@bd2a018756ed/Runtime/Core/NetworkManager.cs:349)
Unity.Netcode.NetworkUpdateLoop:RunNetworkUpdateStage (Unity.Netcode.NetworkUpdateStage) (at ./Library/PackageCache/com.unity.netcode.gameobjects@bd2a018756ed/Runtime/Core/NetworkUpdateLoop.cs:191)
Unity.Netcode.NetworkUpdateLoop/NetworkEarlyUpdate/<>c:b__0_0 () (at ./Library/PackageCache/com.unity.netcode.gameobjects@bd2a018756ed/Runtime/Core/NetworkUpdateLoop.cs:214)
It only comes up on this RPC, gSpawnedFighter is just a basic character controller. And when I note out the gSpawned fighter spawning bit of the code everything works. I'm a terrible programmer so I wouldnt be shocked if its something of how I declared it.
public void VoidAddPlayerRpc(byte byteCharacter)
{
if ((gPlayer.Count > 0))
{
gPlayer.Clear();
}
var foundPlayer = FindObjectsByType<LocalPlayerController>(FindObjectsSortMode.None);
foreach (var player in foundPlayer)
{
print("Looping character spawn");
if (byteCharacter == 0)
{
break;
}
else if (player.gCurrentFighter == null)
{
//GameObject gSpawnedFighter = VoidSpawnCharacter(byteCharacter, player.GetComponent<LocalPlayerController>());
NetworkObject gSpawnedFighter;
if (byteCharacter == 1)
{
print("Attempting to spawn character");
gSpawnedFighter = NetworkManager.SpawnManager.InstantiateAndSpawn(gSwordBase, player.NetworkObjectId,true,true,false,vPlayer1Spawn,Quaternion.identity);
gSpawnedFighter.GetComponent<NetworkObject>().TrySetParent(player.NetworkObject);
player.GetComponent<LocalPlayerController>().gCurrentFighter = gSpawnedFighter;
}
break;
}
}
Actual Outcome
A new player prefab would not spawn in.
Expected Outcome
Player should spawn in via network manager.
Screenshots
If applicable, add screenshots to help explain your problem.
Environment
Additional Context
The full error that came up.
[Netcode] A ConnectionRequestMessage was received from a client when the connection has already been established. NetworkTransport: Unity.Netcode.Transports.UTP.UnityTransport UnityTransportProtocol: UnityTransport. This should not happen. Please report this to the Netcode for GameObjects team at https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/issues and include the following data: Message Size: 170. Message Content: 02 02 7d 9a e2 a5 21 b2 36 17 b3 11 46 c4 ca 04 01 2a b2 f1 50 01 e9 3a b6 d2 01 39 3b e8 2c 01 ab c9 50 60 01 53 a3 38 44 21 d3 f6 1c b8 01 7f 10 0d af 01 f3 a2 4a 4a 01 a6 22 89 97 01 e9 4e 31 0d 01 b5 fe 01 74 11 be 97 be 73 01 bd 23 d8 d0 01 58 aa fb 1c 01 9d 9a 5c 01 01 e9 51 97 17 01 8a f7 e7 83 01 ee 80 1f c6 01 42 7f 88 c6 01 97 a3 f5 46 01 c2 40 2e a3 01 4e 67 03 d2 01 00 00 00 00 01 00 00 00 00 01 00 00 00 00 01 00 00 00 00 01 00 00 00 00 01 00 00 00 00 01 00 00 00 00 01 15 20 0f e8 91 74 be df
UnityEngine.Debug:LogError (object)
Unity.Netcode.NetworkLog:LogError (string) (at ./Library/PackageCache/com.unity.netcode.gameobjects@bd2a018756ed/Runtime/Logging/NetworkLog.cs:34)
Unity.Netcode.NetworkManagerHooks:OnVerifyCanReceive (ulong,System.Type,Unity.Netcode.FastBufferReader,Unity.Netcode.NetworkContext&) (at ./Library/PackageCache/com.unity.netcode.gameobjects@bd2a018756ed/Runtime/Messaging/NetworkManagerHooks.cs:82)
Unity.Netcode.NetworkMessageManager:CanReceive (ulong,System.Type,Unity.Netcode.FastBufferReader,Unity.Netcode.NetworkContext&) (at ./Library/PackageCache/com.unity.netcode.gameobjects@bd2a018756ed/Runtime/Messaging/NetworkMessageManager.cs:315)
Unity.Netcode.NetworkMessageManager:HandleMessage (Unity.Netcode.NetworkMessageHeader&,Unity.Netcode.FastBufferReader,ulong,single,int) (at ./Library/PackageCache/com.unity.netcode.gameobjects@bd2a018756ed/Runtime/Messaging/NetworkMessageManager.cs:397)
Unity.Netcode.NetworkMessageManager:ProcessIncomingMessageQueue () (at ./Library/PackageCache/com.unity.netcode.gameobjects@bd2a018756ed/Runtime/Messaging/NetworkMessageManager.cs:448)
Unity.Netcode.NetworkManager:NetworkUpdate (Unity.Netcode.NetworkUpdateStage) (at ./Library/PackageCache/com.unity.netcode.gameobjects@bd2a018756ed/Runtime/Core/NetworkManager.cs:349)
Unity.Netcode.NetworkUpdateLoop:RunNetworkUpdateStage (Unity.Netcode.NetworkUpdateStage) (at ./Library/PackageCache/com.unity.netcode.gameobjects@bd2a018756ed/Runtime/Core/NetworkUpdateLoop.cs:191)
Unity.Netcode.NetworkUpdateLoop/NetworkEarlyUpdate/<>c:b__0_0 () (at ./Library/PackageCache/com.unity.netcode.gameobjects@bd2a018756ed/Runtime/Core/NetworkUpdateLoop.cs:214)
It only comes up on this RPC, gSpawnedFighter is just a basic character controller. And when I note out the gSpawned fighter spawning bit of the code everything works. I'm a terrible programmer so I wouldnt be shocked if its something of how I declared it.