This page has short, copy-pasteable answers to common questions about porting a Unity Netcode project onto FirstByte. Each answer assumes that the com.clutchcall.transport package is installed, and that a NetworkManager is in the scene. For the full surface, see SDK methods.

How do I install the package?

Add the package via Package Manager → Add package from git URL:

How do I swap UnityTransport for FirstByte?

Remove the UnityTransport component from the NetworkManager. Add ClutchCallTransport. Then point Netcode at it.

How do I configure the relay + token in code?

Set the inspector fields from C# before you start the session.

How do I start a host vs a client?

Netcode chooses host/server vs client, not the transport. Use the same calls that you used with UTP.

How do I send on the unreliable (datagram) lane?

Pick Unreliable delivery for high-frequency, latest-wins traffic. It travels in a single QUIC datagram. There is no head-of-line blocking and no retransmit.

How do I send a reliable, must-arrive message?

Use Reliable* delivery for spawns, despawns, and control RPCs. It travels on a MoQT subgroup stream. Delivery is ordered and guaranteed.

How do I read the current RTT to a peer?

GetCurrentRtt returns the QUIC transport’s smoothed RTT in milliseconds.

How big can an unreliable payload be?

Query the live max datagram size. Keep latest-wins deltas under it. Send anything larger on a reliable RPC.

How do I react to players joining and leaving?

Use Netcode’s standard callbacks. They show peer join/leave. There is no transport-specific event.

How do I mint a room-scoped token?

Mint a short-lived token from your control-plane API. Give the token to the transport. Do not bake a static secret into the build.

How do I run a headless dedicated server?

Build a dedicated-server (or headless) player. Start the host on launch. Editor batch mode does not drive Netcode. You need a built player.

How do I run the ECS racing sample over FirstByte?

  1. Open the ECS-Network-Racing-Sample.
  2. Swap UnityTransport for ClutchCallTransport on its NetworkManager.
  3. Set the relay host + token.
  4. Build a player.
The full walkthrough is in Recipes.

How do I pin the relay’s TLS certificate?

Set the certificate hash in the inspector (or in code). Use this in environments that pin the certificate instead of the public trust store.

How do I handle a dropped connection?

The QUIC session reconnects internally. Watch OnTransportFailure for the unrecoverable case. Then re-enter matchmaking.

SDK methods

This page covers the component, the inspector fields, and the UTP surface.

Recipes

This page has worked end-to-end examples.