# Photon PUN 대안: 턴제·캐주얼 게임

> PUN 2는 유지보수 모드입니다. Fusion이나 게임 서버가 필요한 게임, 방과 매치메이킹이 있는 호스팅 WebSocket 서비스로 충분한 게임, 그리고 각각의 비용.

Source: https://hibira.io/ko/topics/photon-pun-alternative
Updated: 2026-10-31

Photon 문서에는 PUN 2가 유지보수(LTS) 모드여서 수정은 있지만 새 기능은 없으며, 새 프로젝트는 Fusion이나 Quantum을 고려하라고 적혀 있습니다. 이 둘은 실시간 액션 게임에 맞습니다. 하지만 PUN으로 만든 게임 상당수는 그렇지 않습니다. 플레이어가 차례로 움직이는 카드, 보드, 퀴즈, 파티 게임이고, 초당 몇 번의 업데이트면 충분합니다. 이런 게임은 방과 매치메이킹을 갖춘 호스팅 WebSocket 서비스로 PUN을 대체할 수 있으며, 비용도 줄고 WebGL도 기본으로 지원됩니다.

## 게임에 게임 서버가 필요한가요?

| 턴제·캐주얼: WebSocket 서비스로 충분 | 실시간 액션: 게임 서버 유지 |
| --- | --- |
| 카드, 보드, 퍼즐, 단어 게임 | 슈터, 격투, 레이싱 게임 |
| 퀴즈, 트리비아, 파티, 그림 게임 | 플레이어 간에 계속 동기화해야 하는 물리 연산 |
| 턴제 전략, 오토배틀러 | tick 기반 시뮬레이션, lockstep이나 rollback 넷코드 |
| 별도 게임 서버 앞단의 로비, 매치메이킹, 채팅 | 한 플레이어가 초당 10회를 넘게 보내는 업데이트 |
| WebGL 게임, 브라우저와 Unity 플레이어가 함께하는 방 | 100명이 넘는 방 |

WebSocket 서비스는 TCP 위에서 동작하고 tick이 없으며, 게임 로직을 실행하지 않고 플레이어 사이에서 이벤트를 중계합니다. 게임이 오른쪽 열에 해당한다면 Photon Fusion, Quantum 또는 전용 서버가 더 적합합니다.

## PUN 2 게임을 옮길 곳

| 선택지 | 운영 주체 | 적합한 경우 |
| --- | --- | --- |
| Photon Fusion 또는 Quantum | Photon | 실시간 액션, tick 동기화와 예측. 네트워크 코드를 다시 작성해야 함 |
| 직접 호스팅하는 오픈소스 게임 서버(예: Nakama, Colyseus) | 직접 | 서버 권한 로직. 서버를 직접 운영하고 확장할 수 있는 경우 |
| Hibira와 Unity 패키지 | Hibira | 턴제·캐주얼 방, 매치메이킹 큐, WebGL, 브라우저·Godot 플레이어와의 크로스플레이 |

## 같은 플레이어 수의 비용

| 동시 접속 플레이어 | Photon Public Cloud | Hibira |
| --- | --- | --- |
| 20~100 | 20 CCU는 개발용으로만 무료, 100 CCU는 1회 95달러에 12개월 유효 | 무료 요금제: 연결 100개, 운영 환경에서도 사용 가능 |
| 500 | 월 95달러 | Hobby, 월 19달러 |
| 1,000 | 월 185달러 | Starter, 월 39달러 |
| 2,000~3,000 | 2,000 CCU 월 370달러 | Pro, 연결 3,000개 월 89달러 |

Photon 수치는 [PUN 요금 페이지](https://www.photonengine.com/pun/pricing)와 [PUN 2 소개](https://doc.photonengine.com/pun/current/getting-started/pun-intro)에서 2026-10-31에 확인했습니다. Photon은 CCU당 월 3 GB 트래픽을 포함합니다. Hibira는 보낸 메시지를 하루 단위로 세며, 클라이언트 이벤트는 몇 명이 받든 메시지 1건입니다. 무료 요금제에서는 플레이어에게 전달된 건이 월 2 GB 데이터에 포함되고, Hobby 이상에서는 브로드캐스트 전달 횟수를 집계하지 않습니다. 모든 요금제에서 일일 메시지 수, 동시 연결 수, 월간 직접 전송 데이터에는 한도가 있습니다. [요금 페이지](https://hibira.io/ko/pricing)를 참고하세요.

## 이전 과정

| PUN 2 | Hibira Unity 패키지 |
| --- | --- |
| `JoinRandomOrCreateRoom` | 인원, 레이팅 범위, 조건을 지정한 `HibiraQueue.Join` |
| `CreateRoom`, `JoinOrCreateRoom` | `presence-room-` 채널에 정원을 지정해 `HibiraRoom.Join` |
| `OnPlayerEnteredRoom`, `OnPlayerLeftRoom` | `room.MembersChanged` |
| `MasterClient` | `room.Host`: 가장 먼저 들어온 플레이어, 나가면 다음 사람에게 넘어감 |
| `photonView.RPC`, `RaiseEvent` | `room.Channel.Trigger("client-…")`와 `Bind` |
| `PhotonNetwork.Instantiate`, `PhotonView` | 대응 기능 없음: 생성과 상태 이벤트를 직접 보냄 |

백엔드가 앱 secret으로 각 방과 큐에 서명하므로 플레이어 이름과 레이팅은 클라이언트가 아니라 서버에서 옵니다. 전체 대응표와 단계별 코드는 [PUN 2 이전 가이드](https://github.com/hibira-io/unity/blob/main/Documentation~/moving-from-photon-pun-2.md)에 있습니다. [Unity 가이드](https://hibira.io/ko/guides/unity)부터 시작하고, 브라우저 플레이어도 들어올 수 있는 방은 [게임 로비](https://hibira.io/ko/use-cases/game-lobbies)를 참고하세요.

## 자주 묻는 질문

### PUN 2는 서비스가 종료되나요?

Photon 문서에 따르면 PUN 2는 유지보수(LTS) 모드로, 수정은 있지만 새 기능은 없고 새 프로젝트는 Fusion이나 Quantum을 고려하라고 합니다. 기존 PUN 2 게임은 계속 동작합니다.

### 턴제 게임이라면 WebSocket 서비스로 Photon을 대체할 수 있나요?

네. 카드, 보드, 퀴즈, 파티 같은 턴제나 캐주얼 게임이라면 가능합니다. 방, 매치메이킹, 프레즌스, 방 안의 이벤트로 이런 게임에서 PUN이 하던 일을 다룰 수 있습니다. tick 동기화가 필요한 실시간 액션 게임에는 여전히 Fusion, Quantum 또는 게임 서버가 필요합니다.

### Unity WebGL 빌드에서도 동작하나요?

네. Hibira Unity 패키지는 에디터, 데스크톱과 모바일, WebGL 빌드 모두에서 WebSocket으로 연결하며, 같은 방에 브라우저나 Godot에서도 참여할 수 있습니다.
