NGO(Netcode for GameObjects)와 Relay
댓글 0
댓글을 작성하려면 로그인이 필요합니다.
아직 댓글이 없습니다. 첫 번째 댓글을 작성해보세요!
댓글을 작성하려면 로그인이 필요합니다.
아직 댓글이 없습니다. 첫 번째 댓글을 작성해보세요!
NGO와 Relay는 경쟁 관계가 아니라 함께 사용하는 구성 요소다.
게임 코드
↓
NGO — RPC·상태 동기화·오브젝트 관리
↓
Unity Transport — 패킷 전송
↓
Unity Relay — NAT·방화벽을 넘어 연결 중계
↓
다른 플레이어
| 구분 | NGO | Unity Relay |
|---|---|---|
| 종류 | 고수준 네트워크 라이브러리 | Unity가 운영하는 클라우드 중계 서비스 |
| 주요 역할 | 게임 상태 동기화 | 호스트와 클라이언트 연결 |
| 처리 대상 | RPC, NetworkVariable, 오브젝트 생성·제거, 소유권 | NAT, 방화벽, IP 보호, 패킷 중계 |
| 게임 규칙 실행 | 가능 | 불가능 |
| 카드·체력·턴 동기화 | NGO가 담당 | 전달만 담당 |
| 서버 역할 | Host/Client/Server 구조 제공 | 게임 서버가 아님 |
| 참가 코드 | 직접적인 핵심 기능 아님 | Sessions와 함께 참가 코드 제공 |
| 인터넷 비용 | 라이브러리 자체는 무료 | 무료 한도 이후 사용량 기반 과금 |
| 단독 사용 | LAN·직접 IP 연결 가능 | 게임 상태 동기화 기능이 없어 단독 사용 불가 |
| 음성채팅 | 제공하지 않음 | 음성 전송 용도로 사용하면 안 됨 |
| 설치 패키지 | com.unity.netcode.gameobjects | com.unity.services.multiplayer |
NetworkObject 생성과 제거NetworkVariable 상태 동기화예시:
클라이언트: “카드 사용 요청”
→ NGO RPC
→ 호스트가 턴과 카드 보유 여부 검사
→ 결과를 NGO로 전체 플레이어에게 전송
직접 IP 방식에서는 공유기 설정, 포트 포워딩, NAT와 방화벽 문제가 발생할 수 있다. Relay는 모든 플레이어가 Unity의 중계 서버에 접속하도록 만들어 이런 문제를 줄인다.
방장이 Relay 세션 생성
→ 참가 코드 발급
→ 친구에게 코드 전달
→ 친구가 코드로 참가
→ Relay를 통해 방장에게 연결
Relay는 게임 결과를 판단하지 않는다. 방장 PC가 여전히 Listen Server이며, Relay는 패킷만 전달한다.
NGO + Unity Transport + Multiplayer Services + Relay
+
Vivox 음성
Unity 6에서는 기존 standalone Relay 패키지 com.unity.services.relay 대신 통합 패키지인 com.unity.services.multiplayer 사용이 권장된다.
NetworkVariable로 공유하지 않고 대상 플레이어에게만 전송한다.NGO는 게임의 상태와 규칙을 동기화하고, Relay는 그 데이터를 인터넷에서 안전하게 전달한다.
4인 비공개 초대형 게임에는 NGO + Unity Transport + Relay 기반 Listen Server 구성이 적합하며, 커스텀 트랜스포트나 전용 서버는 초기 버전에 필요하지 않다.
XR을 활용한 게임 개발 3기(유니티) 수강생입니다. 곧 수료 하지만 앞으로 이곳에 가끔 저의 개발 경험이 나 지식 기록할까 합니다. 더 나아가 이 사이트가 제 개인위키의 역할을 할 수 있으면 좋겠습니다. 한국 게임 시장을 흔들겠습니다

게임 광고 수익은 단순히 광고를 붙이는 것이 아니라, 여러 광고 네트워크를 경쟁시켜 가장 높은 수익을 만드는 구조입니다.

안녕하세요. 플밍 4기 입니다. 게임 개발을 배우기 전 네트워크 엔지니어 도메인에서 익히고 배웠던 네트워크 이론에 대한 기초 입니다. 학습에 도움이 되길 바라며 공유 드립니다.
XR을 활용한 게임 개발 3기(유니티) 수강생입니다. 곧 수료 하지만 앞으로 이곳에 가끔 저의 개발 경험이 나 지식 기록할까 합니다. 더 나아가 이 사이트가 제 개인위키의 역할을 할 수 있으면 좋겠습니다. 한국 게임 시장을 흔들겠습니다



게임 광고 수익은 단순히 광고를 붙이는 것이 아니라, 여러 광고 네트워크를 경쟁시켜 가장 높은 수익을 만드는 구조입니다.


안녕하세요. 플밍 4기 입니다. 게임 개발을 배우기 전 네트워크 엔지니어 도메인에서 익히고 배웠던 네트워크 이론에 대한 기초 입니다. 학습에 도움이 되길 바라며 공유 드립니다.