Skip to main content
As of LCK v1.4.0, players can live stream directly from inside your game to YouTube and Twitch via RTMP. No external streaming software is required.

How it works

Live streaming uses the same camera system as recording. When a user starts a stream, the active LckCamera output is encoded and sent to an RTMP endpoint in real time. Users can switch cameras during a live stream without interruption.

Setup

Live streaming requires internet access. LCK v1.4.0+ automatically adds internet permission to your AndroidManifest.xml during the build process and prevents Meta Quest’s ForceRemoveInternetPermission feature from blocking it. This behavior is toggleable in Edit > Project Settings > LCK. The streaming UI is included in the LCK tablet. Users configure their stream destination (YouTube or Twitch) and start streaming from the tablet interface.

Streaming API

For programmatic control:
[InjectLck] private ILckService _lckService;

// Start and stop streaming
_lckService.StartStreaming();
_lckService.StopStreaming();

// Query state
_lckService.IsStreaming();       // LckResult<bool>
_lckService.GetStreamDuration(); // LckResult<TimeSpan>

Events

_lckService.OnStreamingStarted += (result) => { /* handle */ };
_lckService.OnStreamingStopped += (result) => { /* handle */ };

Streaming quality

Streaming uses the same quality configuration as recording. Resolution, bitrate, and framerate are set through the LckQualityConfig ScriptableObject or programmatically via the LckService API. See Recording for details on quality presets.

Supported platforms

PlatformYouTubeTwitch
Meta QuestYesYes
Windows PCVRYesYes
As of v1.4.3, streaming no longer requires a user subscription.