Easy WebGL Hosting with PlayFlow
How PlayFlow Makes WebGL Hosting Easy
For seamless WebGL gaming experiences in web browsers, secure WebSocket connections are crucial, but configuring them can be complex. Often, developers end up managing certificates and networking issues, which can be time-consuming. With PlayFlow, however, you only need to enable a simple option to handle these concerns effortlessly.This guide is based on the official Fish-Net WebGL tutorial. Visit their guide for additional screenshots and details.
Before We Begin
Setup Steps
1
Install Bayou
For Fish-Net connections on WebGL, we need a web-supported transport. This tutorial uses Bayou.
-
Download the latest
unitypackagefrom Bayou GitHub Releases -
Import it into your Unity project

2
Add Bayou to NetworkManager
- Select your NetworkManager in the scene
-
Add the Bayou component to it

If you have multiple transports (like Tugboat), add the TransportManager component and drag Bayou into its Transport field to set it as active.
3
Enable WSS
In the Bayou component:
- Enable the “Use WSS” option (Web Socket Secure)
-
SSL Configuration options will appear below - don’t modify these for PlayFlow

4
Build Your PlayFlow Server
Open the PlayFlow Cloud window from Unity toolbar (PlayFlow → PlayFlow Cloud).Click Upload Server to build and upload your Unity server.

5
Configure PlayFlow Port Protocol
In the PlayFlow dashboard:
- Navigate to Configuration tab
- Add or edit your port
- Choose TCP protocol
- Enable TLS ✓ (Critical for WebGL)
-
Save configuration

Why TCP with TLS? WebGL requires secure WebSocket connections. PlayFlow handles the SSL certificates automatically when you enable TLS. TLS is a separate checkbox that can only be enabled on TCP ports, so choose TCP first, then tick TLS.
6
Start a PlayFlow Server
- Go to the Servers tab in PlayFlow
- Create your server instance
- Select your uploaded build
-
Launch the server

7
Prepare Your Client Build
- Click on your server instance’s Details
- Look for the TLS Connection information (this maps to the
hostandexternal_portof the TCP entry in the server’snetwork_portsarray from the API) - In Unity, select the Bayou component
- Enter the TLS host into the Client Address field
- Enter the external port into the Port field


8
Build Your WebGL Client
- In Unity, switch to WebGL platform in Build Settings
- Build your game
- Zip the built files
-
Upload to your chosen hosting platform (e.g., itch.io, GitHub Pages)

The example below shows hosting on itch.io:

Success!
Just like that, you’ve created a server and have your clients in the web browser securely connecting to it!Troubleshooting
Connection Failed
Connection Failed
- Verify TLS is enabled in PlayFlow port settings
- Check that the client is using the TLS host copied from the server details (not an IP address)
- Ensure “Use WSS” is enabled in Bayou
- Confirm the external port matches the value from your server’s
network_ports(it is allocated per server and differs from the internal port)
Multiple Transports Issue
Multiple Transports Issue
If you have both Tugboat and Bayou on your NetworkManager, make sure to add TransportManager component and set Bayou as the active transport.
SSL Configuration
SSL Configuration
Don’t modify the SSL Configuration settings in Bayou - PlayFlow handles all certificates automatically when TLS is enabled.
Resources
- PlayFlow Documentation: docs.playflowcloud.com
- PlayFlow Discord: discord.gg/P5w45Vx5Q8
- Fish-Net Documentation: fish-networking.gitbook.io
Related Guides
WebGL Deployments
Advanced WebGL deployment strategies
Fish-Net Standard
Standard Fish-Net setup for desktop/mobile
Lobby System
Add lobbies to your WebGL game