coherence SDK supports networking in WebGL without any additional setup. Both Rooms and World topologies are supported, as are all of coherence features (persistency, authority switch, etc.) as well as our sample connection UIs.
Basically, it just works! Perfect for game jams and quick prototypes.
You can also use the Online Dashboard to configure a page where you can easily share your WebGL build with the world:
WebGL builds use WebRTC to connect to the Replication Server and so the ports used to connect are different from the usual UDP ports. This is managed automatically in the sample connect dialogs, but if you are building your own, you need to make sure you're connecting to the the correct port which is specified by the --signalling-port
when starting the Replication Server locally (defaults to 42002 for Rooms and 32002 for Worlds).
This is resolved automatically when using the Unity Cloud Service API to create and join Rooms and Worlds.
For anyone building WebGL in Linux, some additional packages are required.
For Ubuntu:
sudo apt install clang libtinfo5 python python-setuptools
Others: check with your package repository to install the correct packages for your distribution.
For running a WebGL build locally, please refer to the official Unity documentation.
A word of caution - currently, WebGL doesn't handle async/await well. Other build options work nicely!