- Home /
[PUN] Sync gameobjects layer over network
Hello everyone, Ive currently made a small game where every player can choose a team (Red or Blue). Then in the game they get an outline representing that color. They get this outline by beeing on a specific layer (BehindMaskRed or BehindMaskBlue). The problem now is that these dont seem to sync over the network since the player that joins afterwards always sees the already joined player as blue (since its the default assigned layer).
This is how i instantiate the players upon joining:
if (PlayerNetworking.localPlayerInstance == null)
{
//instantiate the correct player based on the team
int team = (int)PhotonNetwork.LocalPlayer.CustomProperties["Team"];
Debug.Log($"Team number {team} is being instantiated");
//instantiate the blue player if team is 0 and red if it is not
if (team == 0)
{
float xpos = Random.Range(-3, 3);
float ypos = Random.Range(-3, 3);
GameObject player = PhotonNetwork.Instantiate("Player", new Vector2(xpos, ypos), Quaternion.identity);
player.GetComponent<PlayerNetworking>().teamID = team;
}
else
{
float xpos = Random.Range(-3, 3);
float ypos = Random.Range(-3, 3);
GameObject player = PhotonNetwork.Instantiate("Player", new Vector2(xpos, ypos), Quaternion.identity);
player.GetComponent<PlayerNetworking>().teamID = team;
}
}
Each player has a movement script, a Photon Transform View Classic, and a Photon View with the Transform View as an ovserved component. On all other players than the local one the PhotonView is disable (dont know if this might be the cause). but since i dont want them to be moved by myself i setup a script that disables it.
Your answer
Follow this Question
Related Questions
multiplayer variable synchronization problem 1 Answer
Multiplayer - non player object synchronisation 0 Answers
Unity NetworkTransformChild - Syncing the Child of a Child 0 Answers
How to sync transform of character's bone(spine)? 0 Answers
How to make a game object detect if any of multiple game objects are in range 2 Answers