Así que tengo una pantalla de selección de personajes simple configurada - 5 botones con colores - cuando un cliente hace clic en un botón, ese botón ya no se puede interactuar. También lo tengo, así que si el jugador quiere un personaje diferente, puede hacer clic en otro disponible, y luego se establece en no interactuable, y su elección anterior se vuelve a habilitar. PERO, si otro cliente selecciona un personaje, la primera elección del cliente se vuelve a escribir en el cliente n.º 2 seleccionado.
Configuré un RPC para manejar la sincronización de elección, pero no estoy seguro de cómo arreglarlo para que cada jugador pueda seleccionar un personaje.
Este es el script completo que maneja la selección de personajes. "OnSelect" y "OnClicked" son para los botones.
public class CharacterSelect : MonoBehaviour { PhotonView PV; [SerializeField] public Button[] characters; private Button lastClicked = null; private void Awake() { PV = GetComponent<PhotonView>(); } [PunRPC] public void OnSelect(int id) { if(lastClicked != null) { lastClicked.interactable = true; } characters[id].interactable = false; lastClicked = characters[id]; } public void OnClicked(int id) { PV.RPC("OnSelect", RpcTarget.All, id); } }