For some reason the server spawns it correctly, but something is up with the observers, I made sure to assign the client to the NetworkObject (gameobject) and instead of the character spawning I get a cube.
UnityEngine.Debug:LogError (object)
FishNet.Managing.Logging.LevelLoggingConfiguration:LogError (string) (at Assets/FishNet/Runtime/Managing/Logging/LevelLoggingConfiguration.cs:129)
FishNet.Managing.NetworkManager:InternalLogError (string) (at Assets/FishNet/Runtime/Managing/NetworkManager.Logging.cs:83)
FishNet.Managing.Server.ServerManager:ParseReceived (FishNet.Transporting.ServerReceivedDataArgs) (at Assets/FishNet/Runtime/Managing/Server/ServerManager.cs:791)
FishNet.Managing.Server.ServerManager:Transport_OnServerReceivedData (FishNet.Transporting.ServerReceivedDataArgs) (at Assets/FishNet/Runtime/Managing/Server/ServerManager.cs:665)
FishySteamworks.FishySteamworks:HandleServerReceivedDataArgs (FishNet.Transporting.ServerReceivedDataArgs) (at Assets/FishNet/Plugins/FishySteamworks/FishySteamworks.cs:293)
FishySteamworks.Server.ServerSocket:IterateIncoming () (at Assets/FishNet/Plugins/FishySteamworks/Core/ServerSocket.cs:410)
FishySteamworks.FishySteamworks:IterateIncoming (bool) (at Assets/FishNet/Plugins/FishySteamworks/FishySteamworks.cs:248)
FishNet.Managing.Transporting.TransportManager:IterateIncoming (bool) (at Assets/FishNet/Runtime/Managing/Transporting/TransportManager.cs:705)
FishNet.Managing.Timing.TimeManager:TryIterateData (bool) (at Assets/FishNet/Runtime/Managing/Timing/TimeManager.cs:1018)
FishNet.Managing.Timing.TimeManager:IncreaseTick () (at Assets/FishNet/Runtime/Managing/Timing/TimeManager.cs:672)
FishNet.Managing.Timing.TimeManager:<TickUpdate>g__MethodLogic|98_0 () (at Assets/FishNet/Runtime/Managing/Timing/TimeManager.cs:342)
FishNet.Managing.Timing.TimeManager:TickUpdate () (at Assets/FishNet/Runtime/Managing/Timing/TimeManager.cs:332)
FishNet.Transporting.NetworkReaderLoop:Update () (at Assets/FishNet/Runtime/Transporting/NetworkReaderLoop.cs:28)
My spawn function looks like this.
private void OnClientCustomizeRequest(NetworkConnection conn, ClientSpawnCustomizationRequestBroadcast data, Channel channel)
{
var gender = data.gender;
var response = 0;
switch (gender)
{
case 0:
var go = Instantiate(HumanMaleCharacter, SpawnLocation.transform.position, SpawnLocation.transform.rotation);
InstanceFinder.ServerManager.Spawn(go, conn);
Debug.Log("Human male spawned");
go.transform.SetParent(SpawnLocation.transform);
target = go.GetComponent<CharacterCustomizer>();
SetLists();
target.currentSkinData = Instantiate(skinAppearances[0].MaleSkin);
target.SetSkin(target.currentSkinData);
InstanceFinder.NetworkManager.SceneManager.AddOwnerToDefaultScene(go);
response = 1;
break;
The rest of the cases are just different genders and races.
