Skip to main content

Unity quickstart (WebGL)

Get started with LiveKit and Unity (WebGL)

WebGL only

This quickstart covers the Unity (WebGL) SDK, which supports only the WebGL target platform. To build for native platforms (macOS, Windows, Linux, iOS, and Android), use the Unity SDK instead.

1. Install LiveKit SDK

Click the Add + menu in the Package Manager toolbar, select Add package from git URL, and enter: https://github.com/livekit/client-sdk-unity-web.git

For more details, see the Unity docs on installing packages from Git URLs .

2. Connect to a room

Note that this example hardcodes a token. In a real app, you’ll need your server to generate a token for you.

public class MyObject : MonoBehaviour
{
public Room Room;
IEnumerator Start()
{
Room = new Room();
var c = Room.Connect("<your LiveKit server URL>", "<generate a token>");
yield return c;
if (!c.IsError) {
// Connected
}
}
}

3. Publish video & audio

yield return Room.LocalParticipant.EnableCameraAndMicrophone();

4. Display a video on a RawImage

RawImage image = GetComponent<RawImage>();
Room.TrackSubscribed += (track, publication, participant) =>
{
if(track.Kind == TrackKind.Video)
{
var video = track.Attach() as HTMLVideoElement;
video.VideoReceived += tex =>
{
// VideoReceived is called every time the video resolution changes
image.texture = tex;
};
}
};

5. Next Steps

Happy coding!