Configure a WebGL Canvas size
WebGL networking

WebGL browser access to device features

Unity WebGLA JavaScript API that renders 2D and 3D graphics in a web browser. The Unity WebGL build option allows Unity to publish content as JavaScript programs which use HTML5 technologies and the WebGL rendering API to run Unity content in a web browser. More info
See in Glossary
supports WebCam access. To allow a WebGL application to access the webcam on a device, the browser must request its user to provide access to the cameraA component which creates an image of a particular viewpoint in your scene. The output is either drawn to the screen or captured as a texture. More info
See in Glossary
. Without the permission to access the camera, the browser returns incomplete or inaccurate information.

Note: Currently, Unity WebGL supports WebCam devices only.

To request browser permission to access the webcam, use the Application.RequestUserAuthorization API:

using UnityEngine;
using UnityEngine.iOS;
using System.Collections;

// Get WebCam information from the browser
public class ExampleClass : MonoBehaviour
{
    private WebCamDevice[] devices;
    
    // Use this for initialization
    IEnumerator Start()
    {
        yield return Application.RequestUserAuthorization(UserAuthorization.WebCam);
        if (Application.HasUserAuthorization(UserAuthorization.WebCam))
        {
            Debug.Log("webcam found");
            devices = WebCamTexture.devices;
            for (int cameraIndex = 0; cameraIndex < devices.Length; ++cameraIndex)
            {
                Debug.Log("devices[cameraIndex].name: ");
                Debug.Log(devices[cameraIndex].name);
                Debug.Log("devices[cameraIndex].isFrontFacing");
                Debug.Log(devices[cameraIndex].isFrontFacing);
            }
        }
        else
        {
            Debug.Log("no webcams found");
        }
    }
}

Note: Unity recommends to use the MediaDevices.getUserMedia() API to request user permission for accessing the device. This feature is available only in secure contexts (HTTPS).


Did you find this page useful? Please give it a rating:

  • Configure a WebGL Canvas size
    WebGL networking