Photon Engine (Exit Games) builds cross-platform multiplayer game networking backends - Photon Fusion, Photon Quantum, Photon Unity Networking (PUN), Photon Voice, Photon Chat, and the legacy Photon Bolt - all layered on the proprietary Photon Realtime transport protocol. Photon's core product is protocol-first and SDK-first, not REST-first - game clients exchange a custom binary message format (operation requests, operation responses, and events) with Name Server, Master Server, and Game Server roles, over UDP or TCP by default and, importantly, over WebSocket (ws:// unsecured, wss:// secured on port 443) as a first-class documented transport for WebGL and browser-hosted clients. Photon's own hosted surface exposes no general-purpose callable REST API for gameplay; the only genuinely HTTP surfaces are outbound - Room Lifecycle WebHooks (Photon POSTs room/join/leave/event/property/close notifications to a developer-hosted URL) and the Custom Authentication webservice contract (Photon calls out to a developer-hosted HTTP(S) endpoint to validate client tokens before allowing a connection). Pricing and account management are handled through the Photon Cloud Dashboard web UI, not a documented public REST API.
The core Photon protocol - NOT a REST or JSON API. Clients connect through a Name Server to a Master Server (matchmaking/lobby) and then a Game Server (room gameplay), exchangin...
Photon Unity Networking 2, the original high-level Unity multiplayer SDK layered over the Photon Realtime transport protocol (same binary messages, same UDP/TCP/WebSocket transp...
Photon's current-generation, high-level networking framework for Unity, supporting Shared Mode, Client-Host, and dedicated Server Mode topologies with state-authoritative simula...
Photon's deterministic, ECS-based simulation framework that ships player inputs (not state) across all clients in lockstep, re-simulating identically on every machine. Transport...
Cross-platform low-latency voice chat built directly on top of Photon Realtime - it inherits Realtime's matchmaking, rooms, and interest groups and streams Opus-encoded audio fr...
A separately billed Photon Cloud service (its own AppId type) for text messaging, presence, and friend lists, dedicated Chat Servers speaking the same Photon Realtime-style bina...
Legacy UDP-based Unity netcode product from Exit Games. No longer actively developed and not recommended for new projects - superseded by Photon Fusion. Documented here for comp...
The one genuine, documented HTTP REST-shaped surface in the Photon stack - but it runs in reverse. Photon's Game Server issues outbound HTTP POST requests (PathCreate, PathBefor...
A second Photon-initiated HTTP contract - when Custom Authentication is enabled, Photon's server forwards the client's authentication values (as query string or POST body) to a ...
AsyncAPI 2.6 description of Photon's **WebSocket transport** for the Photon Realtime binary protocol. Photon Realtime (and everything built on it - PUN, Fusion, Quantum, Voice, ...
aid: photonengine
url: https://raw.githubusercontent.com/api-evangelist/photonengine/refs/heads/main/apis.yml
name: Photon Engine
kind: company
description: Photon Engine (Exit Games) builds cross-platform multiplayer game networking backends - Photon Fusion, Photon
Quantum, Photon Unity Networking (PUN), Photon Voice, Photon Chat, and the legacy Photon Bolt - all layered on the proprietary
Photon Realtime transport protocol. Photon's core product is protocol-first and SDK-first, not REST-first - game clients
exchange a custom binary message format (operation requests, operation responses, and events) with Name Server, Master Server,
and Game Server roles, over UDP or TCP by default and, importantly, over WebSocket (ws:// unsecured, wss:// secured on port
443) as a first-class documented transport for WebGL and browser-hosted clients. Photon's own hosted surface exposes no
general-purpose callable REST API for gameplay; the only genuinely HTTP surfaces are outbound - Room Lifecycle WebHooks
(Photon POSTs room/join/leave/event/property/close notifications to a developer-hosted URL) and the Custom Authentication
webservice contract (Photon calls out to a developer-hosted HTTP(S) endpoint to validate client tokens before allowing a
connection). Pricing and account management are handled through the Photon Cloud Dashboard web UI, not a documented public
REST API.
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
tags:
- Gaming
- Multiplayer
- Realtime
- Netcode
- Game Networking
- WebSocket
- Binary Protocol
created: '2026-07-03'
modified: '2026-07-03'
specificationVersion: '0.19'
apis:
- aid: photonengine:photonengine-realtime-transport-api
name: Photon Realtime Transport Protocol
tags:
- Realtime
- Binary Protocol
- UDP
- TCP
- WebSocket
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
humanURL: https://doc.photonengine.com/realtime/current/getting-started/realtime-intro
baseURL: wss://ns.exitgames.com:443
properties:
- url: https://doc.photonengine.com/realtime/current/getting-started/realtime-intro
type: Documentation
- url: https://doc.photonengine.com/realtime/current/reference/binary-protocol
type: APIReference
- url: https://doc.photonengine.com/realtime/current/connection-and-authentication/secure-networks
type: Documentation
- url: asyncapi/photonengine-asyncapi.yml
type: AsyncAPI
description: The core Photon protocol - NOT a REST or JSON API. Clients connect through a Name Server to a Master Server
(matchmaking/lobby) and then a Game Server (room gameplay), exchanging a proprietary binary message format (operation
requests, operation responses, and events framed inside eNet-style commands) over UDP (reliable/unreliable), TCP, or WebSocket.
WebSocket is a first-class documented transport - clients set ConnectionProtocol to WebSocket or WebSocketSecure and connect
with ws:// on port 80 or wss:// on port 443 (9090/19090 for self-hosted/Cloud Master listeners) - used primarily for WebGL
and browser-hosted game clients.
- aid: photonengine:photonengine-pun-api
name: Photon PUN (Photon Unity Networking) API
tags:
- PUN
- Unity
- Legacy
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
humanURL: https://doc.photonengine.com/pun/current/getting-started/pun-intro
baseURL: wss://ns.exitgames.com:443
properties:
- url: https://doc.photonengine.com/pun/current/getting-started/pun-intro
type: Documentation
- url: https://doc-api.photonengine.com/en/pun/current/
type: APIReference
description: Photon Unity Networking 2, the original high-level Unity multiplayer SDK layered over the Photon Realtime transport
protocol (same binary messages, same UDP/TCP/WebSocket transports). Still supported for existing projects; Photon recommends
Fusion or Quantum for new projects.
- aid: photonengine:photonengine-fusion-api
name: Photon Fusion Networking API
tags:
- Fusion
- Netcode
- State Authoritative
- Unity
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
humanURL: https://doc.photonengine.com/fusion/current/getting-started/fusion-intro
baseURL: wss://ns.exitgames.com:443
properties:
- url: https://doc.photonengine.com/fusion/current/getting-started/fusion-intro
type: Documentation
- url: https://doc-api.photonengine.com/en/fusion/current/
type: APIReference
description: Photon's current-generation, high-level networking framework for Unity, supporting Shared Mode, Client-Host,
and dedicated Server Mode topologies with state-authoritative simulation. Runs its own tick/prediction layer on top of
the Photon Realtime transport protocol; not a REST API.
- aid: photonengine:photonengine-quantum-api
name: Photon Quantum Deterministic Simulation API
tags:
- Quantum
- ECS
- Deterministic
- Lockstep
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
humanURL: https://doc.photonengine.com/quantum/current/manual/introduction
baseURL: wss://ns.exitgames.com:443
properties:
- url: https://doc.photonengine.com/quantum/current/manual/introduction
type: Documentation
- url: https://doc.photonengine.com/quantum/current/manual/webhooks
type: Documentation
description: Photon's deterministic, ECS-based simulation framework that ships player inputs (not state) across all clients
in lockstep, re-simulating identically on every machine. Transport is the shared Photon Realtime protocol (UDP/TCP/WebSocket);
Quantum also supports the same Room Lifecycle WebHooks as Realtime/Fusion.
- aid: photonengine:photonengine-voice-api
name: Photon Voice API
tags:
- Voice
- Audio
- Opus
- VoIP
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
humanURL: https://doc.photonengine.com/voice/current/getting-started/voice-intro
baseURL: wss://ns.exitgames.com:443
properties:
- url: https://doc.photonengine.com/voice/current/getting-started/voice-intro
type: Documentation
- url: https://doc-api.photonengine.com/en/voice/current/
type: APIReference
description: Cross-platform low-latency voice chat built directly on top of Photon Realtime - it inherits Realtime's matchmaking,
rooms, and interest groups and streams Opus-encoded audio frames as Realtime events; no independent transport or REST
surface of its own.
- aid: photonengine:photonengine-chat-api
name: Photon Chat API
tags:
- Chat
- Messaging
- Presence
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
humanURL: https://doc.photonengine.com/chat/current/getting-started/chat-intro
baseURL: wss://ns.exitgames.com:443
properties:
- url: https://doc.photonengine.com/chat/current/getting-started/chat-intro
type: Documentation
- url: https://doc-api.photonengine.com/en/chat/current/
type: APIReference
description: A separately billed Photon Cloud service (its own AppId type) for text messaging, presence, and friend lists,
dedicated Chat Servers speaking the same Photon Realtime-style binary protocol over UDP/TCP/WebSocket - not a REST or
JSON chat API.
- aid: photonengine:photonengine-bolt-api
name: Photon Bolt (Legacy, Deprecated)
tags:
- Bolt
- Legacy
- Deprecated
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
humanURL: https://doc.photonengine.com/bolt/current/getting-started/bolt-intro
baseURL: wss://ns.exitgames.com:443
properties:
- url: https://doc.photonengine.com/bolt/current/getting-started/bolt-intro
type: Documentation
description: Legacy UDP-based Unity netcode product from Exit Games. No longer actively developed and not recommended for
new projects - superseded by Photon Fusion. Documented here for completeness since it remains listed among Photon's historical
SDKs (PUN, Fusion, Quantum, Voice, Chat, Bolt).
- aid: photonengine:photonengine-webhooks-api
name: Photon Room Lifecycle WebHooks
tags:
- Webhooks
- Server Callbacks
- HTTP
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
humanURL: https://doc.photonengine.com/realtime/current/gameplay/web-extensions/webhooks
baseURL: '{your-BaseUrl-configured-in-dashboard}'
properties:
- url: https://doc.photonengine.com/realtime/current/gameplay/web-extensions/webhooks
type: Documentation
- url: https://doc.photonengine.com/server/current/applications/loadbalancing/webhooks
type: Documentation
- url: openapi/photonengine-openapi.yml
type: OpenAPI
description: The one genuine, documented HTTP REST-shaped surface in the Photon stack - but it runs in reverse. Photon's
Game Server issues outbound HTTP POST requests (PathCreate, PathBeforeJoin, PathJoin, PathLeave, PathEvent, PathGameProperties,
PathClose) to a developer-hosted BaseUrl configured in the Photon Dashboard, and expects a JSON response shaped like ResultCode
= 0. The developer implements the server; Photon is the HTTP client.
- aid: photonengine:photonengine-custom-authentication-webservice
name: Photon Custom Authentication Webservice Contract
tags:
- Authentication
- Webhooks
- HTTP
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
humanURL: https://doc.photonengine.com/realtime/current/connection-and-authentication/authentication/custom-authentication
baseURL: '{your-AuthUrl-configured-in-dashboard}'
properties:
- url: https://doc.photonengine.com/realtime/current/connection-and-authentication/authentication/custom-authentication
type: Documentation
- url: openapi/photonengine-openapi.yml
type: OpenAPI
description: A second Photon-initiated HTTP contract - when Custom Authentication is enabled, Photon's server forwards the
client's authentication values (as query string or POST body) to a developer-hosted AuthUrl and expects a JSON response
indicating whether the user is authorized. Like WebHooks, the developer hosts the server and Photon is the caller.
common:
- type: VulnerabilityDisclosure
url: security/photonengine-vulnerability-disclosure.yml
- type: DomainSecurity
url: security/photonengine-domain-security.yml
- type: GitHubOrganization
url: https://github.com/exitgames
- type: LinkedIn
url: https://www.linkedin.com/company/photon-engine
- type: Website
url: https://www.photonengine.com
- type: Documentation
url: https://doc.photonengine.com
- type: Plans
url: plans/photonengine-plans-pricing.yml
- type: RateLimits
url: rate-limits/photonengine-rate-limits.yml
- type: FinOps
url: finops/photonengine-finops.yml
maintainers:
- FN: Kin Lane
email: kin@apievangelist.com