You can use networkingThe Unity system that enables multiplayer gaming across a computer network. More info
See in Glossary in the following two ways:
If you send a web request to a server other than the one that hosts the Unity content, the server you’re sending it to must authorise the Unity content.
To access cross-domain web resources in WebGL, the server you are trying to access needs to use cross-origin resource sharing (CORS) to authorize cross-domain web resources.
If you try to access content using UnityWebRequest, and the remote server doesn’t have CORS set up or configured correctly, an error like the following appears in the browser console:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://myserver.com/. This can be fixed by moving the resource to the same domain or enabling CORS.
The server needs to add Access-Control headers to the http responses it sends out, to indicate which web pages have permission to read that information from a web browser.
For a demonstration of how to add Access-Control headers that allow Unity WebGL to access resources on a web server from any origin, see the following example. This example includes common request headers and allows the GET, POST or OPTIONS methods:
"Access-Control-Allow-Credentials": "true", "Access-Control-Allow-Headers": "Accept, X-Access-Token, X-Application-Name, X-Request-Sent-Time", "Access-Control-Allow-Methods": "GET, POST, OPTIONS", "Access-Control-Allow-Origin": "*",
Don’t use code that blocks a UnityWebRequest download, such as this:
You can’t block the thread to wait for a UnityWebRequest download to finish otherwise your application freezes. Because WebGL is single threaded, and the
Unity Multiplayer enables communication via the WebSockets protocol. See NetworkServer.useWebSockets.