I am trying to create a script which changes materials of players which join over network. When I run the script, I get a null reference exception error on the photon rpc function call.
This is my script:
using UnityEngine;
using Photon.Realtime;
public class ChangeStarterMaterial : Photon.MonoBehaviour
{
//~Arrays:
[SerializeField]
private GameObject[] playersInGame;
[SerializeField]
private Material[] materials;
//~PhotonView:
private PhotonView view;
private void Start()
{
view = GetComponent<PhotonView>();//Get view
playersInGame = GameObject.FindGameObjectsWithTag("Player");
}
private void Update()
{
view.RPC("AssignColors" , PhotonTargets.AllBuffered);
}
[PunRPC]
public void AssignColors()
{
if(PhotonNetwork.isMasterClient)
{
for(int i = 0; i < playersInGame.Length ; i++)
{
//Get MainPlayerBody Mat:
playersInGame[i].transform.Find("MainPlayer").GetComponent<SkinnedMeshRenderer>().material = materials[i];
//Get Visor Mat:
playersInGame[i].transform.Find("MainPlayer").transform.Find("Back Pack").GetComponent<SkinnedMeshRenderer>().material= materials[i];
}
}
}
}
I am new to photon engine so please help.
Thanks, Raghav Gohil