공식 문서에 잘 나와있지 않거나 팁이 될 만한 부분을 적었습니다
보통 멀티플레이를 위한 유니티에서의 포톤은 Pun2 서비스를 이용하며, 여기서 받아 import 하여 사용하면 된다.
또한 기초 튜토리얼 부분은 여기서 부터 보며 진행하면 로비, 게임씬 이동, 프리펩 생성, 동기화 방법까지 사실상 다 확인 할 수 있다.
멀티 플레이 게임 개발 시 주의점으로, 4명이 동시에 하고 있는 게임이 있다면, 한 스크립트 실행시 4명이 그 스크립트를 모두 실행하게 할 것인지, 제한을 두어 한 명만 스크립트를 실행할 것인지 잘 결졍해야하고, 헷갈리면 안된다. 예를 들어 Photon의 경우 photonView.IsMine을 통해 자신에게 종속된 뷰만 실행할 지, 다른 플레이어들에게 생성된 뷰도 동일하게 실행 할 것인지를 잘 생각하여 스크립트 코딩해야한다.
마스터 클라이언트 = 방 생성한 사람, 혹은 권한 이관 받은 사람
offlinemode 관련
네트워크 동기화하고자 하는 오브젝트 생성 시 알아두어야 할 것
주의 할 것은 프리펩 오브젝트를 만드는 것 까지는 동기화가 되지만, 그 이후의 코드는 동기화가 자동으로 되는 것이 아니다. 예를 들면 아래와 같다
var character = PhotonNetwork.Instantiate(~~~) // 동기화 오브젝트 생성
character.Init(); // 동기화 안됨
따라서 위의 예시의 character.Init() 이부분은 따로 동기화를 해주어야한다. PunRPC와 RpcTarget.AllBuffered를 활용하자