Table of Contents

Namespace LiveKit

Classes

AudioFrame
AudioResampler
AudioStream

An audio stream from a remote participant, attached to an AudioSource in the scene.

BasicAudioSource

An audio source which captures from a Unity AudioSource in the scene.

BiplanarYuv8Buffer
BiplanarYuvBuffer
ByteStreamInfo

Information about a byte data stream.

ByteStreamReader

Reader for an incoming byte data stream.

ByteStreamReader.ReadAllInstruction

YieldInstruction for ReadAll().

ByteStreamReader.ReadIncrementalInstruction

YieldInstruction for ReadIncremental().

ByteStreamReader.WriteToFileInstruction

YieldInstruction for WriteToFile(string, string).

ByteStreamWriter

Writer for an outgoing byte data stream.

ByteStreamWriter.CloseInstruction

YieldInstruction for Close(string).

ByteStreamWriter.WriteInstruction

YieldInstruction for Write(byte[]).

CameraVideoSource
ConnectInstruction
ConnectionDetails

Server URL and participant token returned by a token source, ready to pass to Room.Connect.

DataTrackFrame

A frame published on a data track, consisting of a payload and optional metadata.

DataTrackInfo

Information about a published data track.

DataTrackOptions

Options for publishing a data track.

DataTrackStream

An active subscription to a remote data track.

DataTrackStream.ReadFrameInstruction

YieldInstruction for reading a single frame from a DataTrackStream.

DataTrackSubscribeOptions

Options for subscribing to a remote data track.

E2EEManager
E2EEOptions
FrameCryptor
GetSessionStatsInstruction
I010Buffer
I420ABuffer
I420Buffer
I422Buffer
I444Buffer
IRtcSource
IceServer
KeyProvider
KeyProviderOptions
LocalAudioTrack
LocalDataTrack

Data track published by the local participant.

LocalParticipant
LocalTrackPublication
LocalVideoTrack
MicrophoneSource

An audio source which captures from the device's microphone.

NV12Buffer
NativeBuffer
Participant
PerformRpcInstruction

YieldInstruction for RPC calls. Returned by PerformRpc(PerformRpcParams).

PerformRpcParams

Parameters for PerformRpc(PerformRpcParams).

PlanarYuv16BBuffer
PlanarYuv8Buffer
PlanarYuvBuffer
PlatformAudio
PlatformAudioSource

Audio source that captures from the platform microphone via WebRTC's ADM.

Unlike MicrophoneSource which uses Unity's Microphone API and manually pushes audio frames, PlatformAudioSource lets WebRTC's ADM handle capture directly. This provides:

  • Echo cancellation (AEC) that works with speaker playout
  • Lower latency (single audio path, no Unity intermediate)
  • Automatic gain control and noise suppression

Requires PlatformAudio to be created first to enable the ADM.

PublishDataInstruction

YieldInstruction for publishing data packets. Returned by PublishData(byte[], IReadOnlyCollection<string>, bool, string).

PublishDataTrackError

An error that can occur when publishing a data track.

PublishDataTrackInstruction

YieldInstruction for publishing a data track. Returned by PublishDataTrack(DataTrackOptions).

PublishTrackInstruction
PushFrameError

An error that can occur when pushing a frame to a data track.

RGBABBuffer
RTCConfiguration
ReadIncrementalInstructionBase<TContent>

Shared state and helpers for incremental stream reader yield instructions. Models the incoming stream as a single ordered queue whose items are either a chunk or a the end-of-stream marker (carrying an optional StreamError). The consumer advances through the queue one item at a time via Reset(); end-of-stream is only observed once every buffered chunk has been drained, mirroring the JS and Python SDKs. Subclasses own the typed event subscription and convert raw event payloads via OnChunk(TContent) and OnEos(StreamError).

RemoteAudioTrack
RemoteDataTrack

Data track published by a remote participant.

RemoteDataTrackPipelineOptions

Track-level options that configure how the incoming-frame pipeline reassembles packets for a remote data track.

RemoteParticipant
RemoteTrackPublication
RemoteVideoTrack
RingBuffer
Room
RoomOptions
RpcError

Errors thrown by RPC method handlers or generated due to a failure in the RPC call.

Built-in error codes are listed in RpcError.ErrorCode.

You may also throw custom errors with your own code and data.
Errors of this type thrown in your handler will be transmitted as-is without modification. All other errors will be converted to a generic APPLICATION_ERROR (1500).

RpcInvocationData

Data supplied to an RPC method handler registered with RegisterRpcMethod(string, RpcHandler).

RtcAudioSource

Capture source for a local audio track.

RtcVideoSource
ScreenVideoSource
SendFileInstruction

YieldInstruction for send file. Returned by SendFile(string, StreamByteOptions).

SendTextInstruction

YieldInstruction for send text. Returned by SendText(string, StreamTextOptions).

SetLocalAttributesInstruction
SetLocalMetadataInstruction
SetLocalNameInstruction
StreamByteOptions

Options used when opening an outgoing byte data stream.

StreamBytesInstruction

YieldInstruction for stream bytes. Returned by StreamBytes(StreamByteOptions).

StreamError

Error for data stream operations.

StreamInfo

Information about a data stream.

StreamOptions

Options used when opening an outgoing data stream.

StreamTextInstruction

YieldInstruction for stream text. Returned by StreamText(StreamTextOptions).

StreamTextOptions

Options used when opening an outgoing text data stream.

SubscribeDataTrackError

An error that can occur when subscribing to a data track.

TextStreamInfo

Information about a text data stream.

TextStreamReader

Reader for an incoming text data stream.

TextStreamReader.ReadAllInstruction

YieldInstruction for ReadAll().

TextStreamReader.ReadIncrementalInstruction

YieldInstruction for ReadIncremental().

TextStreamWriter

Writer for an outgoing text data stream.

TextStreamWriter.CloseInstruction

YieldInstruction for Close(string).

TextStreamWriter.WriteInstruction

YieldInstruction for Write(string).

TextureVideoSource
TokenSourceComponent

MonoBehaviour wrapper that builds an ITokenSource from an inspector-assigned TokenSourceComponentConfig ScriptableObject. To skip the asset entirely, instantiate TokenSourceLiteral, TokenSourceSandbox, TokenSourceEndpoint, or TokenSourceCustom directly at runtime.

TokenSourceComponentConfig
TokenSourceCustom

Delegates connection-detail retrieval to a user-supplied async function. Use this when your app already has its own token-fetching code (custom auth flow, cached tokens, etc.).

TokenSourceEndpoint

Posts a JSON request to a token-server endpoint and returns the parsed ConnectionDetails. The body is built from per-call TokenSourceFetchOptions (room name, participant info, agent dispatch, etc.). Use for production token servers — see https://docs.livekit.io/frontends/build/authentication/endpoint/.

TokenSourceFetchOptions

Per-call overrides passed to FetchConnectionDetails(TokenSourceFetchOptions).

TokenSourceLiteral

Returns a fixed server URL and participant token. Suitable when credentials are pregenerated (e.g. via the LiveKit CLI or LiveKit Cloud project page).

TokenSourceSandbox

Convenience TokenSourceEndpoint preconfigured for LiveKit Cloud sandbox token servers. Intended for development and testing only — see https://docs.livekit.io/frontends/build/authentication/sandbox-token-server/.

Track
TrackPublication
TrackPublishOptionsExtensions
UnpublishTrackInstruction
VideoFrame
VideoFrameBuffer
VideoStream
WebCameraSource

Structs

AudioDevice

Information about an audio device (microphone or speaker).

AudioProcessingOptions

Options for audio processing when creating a PlatformAudioSource.

StringPair

Interfaces

IAudioTrack
ILocalTrack
IRemoteTrack
ITokenSource

Marker interface for any source of LiveKit ConnectionDetails. Implementations are either ITokenSourceFixed or ITokenSourceConfigurable.

ITokenSourceConfigurable

A token source that accepts per-call TokenSourceFetchOptions to parameterize the request (e.g. an HTTP endpoint that needs room/participant info per fetch).

ITokenSourceFixed

A token source whose connection details are fully determined at construction time and cannot be influenced by per-call options (e.g. literal credentials or a user-supplied callback).

ITrack
IVideoTrack

Enums

ContinualGatheringPolicy
EncryptionType
IceTransportType
RpcError.ErrorCode

Built-in error codes. See https://docs.livekit.io/home/client/data/rpc/#errors for more information.

RtcAudioSourceType

Defines the type of audio source, influencing processing behavior.

RtcVideoSource.VideoStreamSource
TextStreamInfo.OperationType

Operation type for text streams.

TokenSourceType

Delegates

ByteStreamHandler

Delegate for handling incoming byte data streams.

Participant.PublishDelegate
Room.ConnectionDelegate
Room.ConnectionQualityChangeDelegate
Room.ConnectionStateChangeDelegate
Room.DataDelegate
Room.DataTrackPublishedDelegate
Room.DataTrackUnpublishedDelegate
Room.DisconnectDelegate
Room.E2EeStateChangedDelegate
Room.LocalPublishDelegate
Room.MetaDelegate
Room.MuteDelegate
Room.ParticipantDelegate
Room.ParticipantDisconnectDelegate
Room.PublishDelegate
Room.RemoteParticipantDelegate
Room.SipDtmfDelegate
Room.SpeakersChangeDelegate
Room.SubscribeDelegate
RpcHandler
RtcVideoSource.FrameMetadataDelegate
RtcVideoSource.TextureReceiveDelegate
TextStreamHandler

Delegate for handling incoming text data streams.

TokenSourceCustom.CustomTokenFunction
VideoStream.FrameReceiveDelegate
VideoStream.TextureReceiveDelegate
VideoStream.TextureUploadDelegate