Unity Multiplayer Services with PurrNet

by DevBookOfArray (youngwoocho02)

Introduction

This guide covers how to integrate Unity 6's Multiplayer Services (Lobby, Relay, Matchmaker) with PurrNet using two community packages:

  • Purrnity Transport - A transport adapter bridging PurrNet with Unity's Transport Package

  • PurrNet Multiplayer Services Handler - A session management layer connecting Unity's Multiplayer Services to PurrNet

Together, these packages let you use Unity's matchmaking and relay infrastructure while keeping PurrNet as your networking framework.

Requirements

  • Unity 6.0+

  • PurrNet

  • Unity Transport 2.0+ (com.unity.transport)

  • Multiplayer Services 1.1.0+ (com.unity.services.multiplayer)

Installation

Install the packages via Unity Package Manager using Git URLs:

  1. Purrnity Transport:

https://github.com/youngwoocho02/PurrnityTransport.git
  1. PurrNet Multiplayer Services Handler:

Setting Up the Transport

Add the PurrnityTransport component to your NetworkManager GameObject and assign it as the transport.

Basic Connection (Direct UDP)

Using Unity Relay

For NAT traversal, you can configure the transport to use Unity Relay:

Encryption

Enable DTLS encryption for UDP or TLS for WebSocket connections:

Session Management with Multiplayer Services Handler

The handler provides a high-level API for session-based multiplayer using Unity's services.

Initializing

Creating a Session

Joining a Session

Direct P2P Connection

Resources

Last updated