네트워킹은 광대하고 복잡한 주제입니다. Unity에서 네트워크 기능을 생성하는 것은 아주 간단합니다. 하지만 네트워크 게임 제작과 관련한 모든 사항을 폭넓고 깊게 이해하는 것이 좋습니다. 이 섹션에서는 네트워킹의 기본과 Unity만의 네트워킹 구현 방식에 대해 설명합니다. 네트워킹을 처음 다루는 분이라면 네트워크 게임을 제작하기 전에 이 가이드를 자세하게 읽어보는 것을 적극 권장합니다.
네트워킹 전반에 대한 지식을 처음 접하거나 지식을 상기하고 싶은 경우 네트워킹 개념의 개요 페이지를 참조하십시오. 여기에서 이어지는 Unity 네트워킹 요소 페이지에서는 Unity만의 일반적인 네트워킹 구현 방식에 대해 설명합니다.
Unity는 네트워크에서 데이터를 공유하는 데 네트워크 뷰 컴포넌트를 많이 활용하기 때문에 작동 방식을 이해하는 것이 매우 중요합니다. 네트워크 뷰가 제공하는 함수 중 하나로, 원격 프로시저 호출, 또는 RPC가 있습니다. 이를 통해 클라이언트이거나 서버인 하나 이상의 원격 장치에서 함수를 호출할 수 있습니다.
네트워크로 연결된 컴퓨터 간의 정보 유지 관리는 상태 동기화를 통해 이루어지는데, 이는 네트워크에서 실행되는 두 개 이상의 게임 인스턴스 간 특정 데이터 집합을 주기적으로 업데이트하는 메서드입니다. 다른 주제로는 공유 환경에서 어떤 컴퓨터가 어떤 오브젝트를 소유 또는 제어하는지 지정하는 것이 있는데, 이는 네트워크 인스턴스화를 활용하면 되지만 보다 확실하게 제어하려면 다른 방법을 사용할 수도 있습니다.
컴퓨터 탐색은 누군가가 서버 컴퓨터를 설정한 후 직접 다른 플레이어가 참여할 수 있도록 초대하는 것을 의미합니다. 게임에는 익명으로 참여하거나 다수가 동시에 참여할 수 있어야 하지만, 마스터 서버는 게임 세션을 홍보하고 사람들이 참여할 수 장소의 역할을 수행합니다. 마스터 서버는 NAT 펀치스루 라는 기술을 사용하여 플레이어가 방화벽이 작동 중인 경우에도 항상 연결할 수 있도록 지원합니다.
컴퓨터 간에 전송되는 데이터 양을 줄이면 성능이 개선되는 경향이 있습니다. 이러한 최적화를 수행하는 방법은 대역폭 최소화 페이지를 참조하십시오.
모바일 디바이스에서 Unity 네트워킹 API는 데스크톱 컴퓨터와 거의 동일하므로 네트워크 게임은 거의 수정하지 않고도 작동하는 경우가 많습니다. 모바일 네트워킹 페이지에서는 모바일 디바이스에서 발생할 수 있는 문제나 성능에 대한 고려 사항을 설명합니다.