Photon 연결
ParrelSync로 클라이언트 테스트
Custom Property
클라이언트는 서버의 호출을 받기 위해 using Photon.Pun; 을 추가하고
컴포넌트 상속을 MonoBehaviour > MonoBehaviourPunCallbacks 로 변경해야 한다.
그리고 MonoBehaviourPunCallbacks 로 여러 네트워크 콜백 함수를 사용하여 타이밍 및 동기화를 할 수 있다.
- 서버 연결
PhotonNetwork.ConnectUsingSettings();
- 연결 상태 확인
public override void OnConnected();
public override void OnConnectedToMaster();
public override void OnDisconnected(DisconnectCause cause);
- DisconnectCause는 열거형으로 연결되지 않는 이유를 알 수 있다.

그 외 Room 생성 및 입장 퇴장, 로비 입장 및 퇴장, 다른 유저 입장, 방장 변경 등
다양한 콜백 함수들이 있다.
ParrelSync 깃허브 링크를 유니티 에디터 패키지 매니저에서 설치할 수 있다.
ParrelSync는 MSW처럼 클라이언트를 추가할 수 있어서 네트워크(멀티)를 테스트할 수 있다.
커스텀 프로퍼티는 ExitGames.Client.Photon.Hashtable 타입의 Dictionary로
key는 string 타입, Value는 object 타입으로 룸, 플레이어의 동기화될 데이터를 저장할 수 있다.
// 방 설정
RoomOptions options = new();
options.MaxPlayers = 4;
// 로비에서 공유할 옵션
options.CustomRoomPropertiesForLobby = new[] { "Map" };
// 룸 프로퍼티 추가
Hashtable roomSetting = new();
roomSetting["Map"] = "City";
options.CustomRoomProperties = roomSetting;
추가로 string[] 타입의 CustomRoomPropertiesForLobby도 있는데,
룸에서 로비로 보여줄 룸의 정보(Room 프로퍼티)를 지정하는 배열이다.
룸을 만들 때 설정한 Room 프로퍼티에서 Key 값만 추가할 수 있다.
VR때와 같이 에셋을 공부하는 느낌이고 정보가 많아 머리에 잘 안들어오지만
MSW에서 서버와 클라이언트에 익숙해서 그런가
아직까지 어렵다기 보다는 내용이 많은 느낌이다.