Question by
ryuz1337 · Apr 29 at 12:09 AM ·
networkingtransformprefabmirror
Unity Mirror - Player prefab rotation not syncronised on client
I am trying to set the rotation of PlayerPrefab for players that join via NetworkManager, however server side client gets updated rotation as expected but client side does not for whatever reason. Any idea why is this happening?
public class CustomNetworkManager : NetworkManager
{
[SerializeField] private Camera mainCamera;
private List<GameObject> players = new List<GameObject>();
public override void OnServerAddPlayer(NetworkConnectionToClient conn)
{
base.OnServerAddPlayer(conn);
players.Add(conn.identity.gameObject);
mainCamera.GetComponent<CameraController>().players.Add(conn.identity.transform);
if (players.Count == 1)
{
Vector3 localScale = conn.identity.transform.localScale;
localScale.x = -1f;
conn.identity.transform.rotation = Quaternion.Euler(new Vector3(0f, 90f));
conn.identity.transform.localScale = localScale;
}
else if (players.Count == 2) { conn.identity.transform.rotation = Quaternion.Euler(new Vector3(0f, -90f)); }
if (players.Count < 2) { return; }
players[0].GetComponent<CustomPlayerController>().opponent = players[1];
players[1].GetComponent<CustomPlayerController>().opponent = players[0];
}
}
PlayerPrefab has NetworkTransform set and Sync Rotation is ticked. I tried adding NetworkTransformChild as well but that also didn't help.
Any idea is much appreciated, thank you!
Comment
Your answer