Skip to main content
Module: LCKStreaming | Version: 1.0 | Platforms: Win64, Android (Quest)

Overview

This guide walks through enabling and using LCKStreaming from C++ in five steps. By the end, your game will authenticate with the LIV backend and stream to YouTube, Twitch, or a manual RTMP endpoint.
Before you begin, ensure you have a LIV developer account, a valid Tracking ID, and an active streaming subscription. See the Streaming Overview for all prerequisites.

Pairing to LIV Hub in Play In Editor mode

You must pair your game to LIV Hub on your Meta Quest. ie: LIV Hub doesn’t need to be on the same device that you’re pairing the game to.
  1. In editor, while in play mode, go to the streaming tab to trigger the pairing code
  2. In LIV Hub on the Meta Quest, pair your game via the LIV Camera Games section
  3. Enter the pairing code in the editor

Step 1: Enable Streaming

In Project Settings → Plugins → LCK SDK → Features, enable bEnableStreaming. You can also set it in your DefaultGame.ini:

Step 2: Add Module Dependencies

Step 3: Access the Subsystem

ULCKStreamingSubsystem is a UGameInstanceSubsystem. Access it from any point where you have a valid game instance.

Step 4: Authenticate and Stream

The minimum flow is: start login, wait for authentication, then start streaming.

Step 5: Stop Streaming

Complete State Check Example

Use the state query methods to build your UI:

All Available Delegates

Always bind delegates before calling StartLogin() or StartStreaming() to avoid missing events that fire quickly.

Troubleshooting

  1. Check IsAuthenticated() — the user must be logged in first
  2. Check HasStreamingTarget() — the streaming config must be loaded
  3. Check HasActiveSubscription() — an active subscription is required
  4. Verify bEnableStreaming is true in project settings
  5. Check LogLCKStreaming for detailed error output
  1. Check OnStreamError for the error message
  2. Verify network connectivity to the RTMP ingest server
  3. Ensure the encoder is available (not locked by another process)
  4. The health check allows 2 consecutive failures before stopping — check logs for encoder health warnings
  1. Verify network connectivity to dashboard.liv.tv
  2. Check that the Tracking ID is valid
  3. Look for errors in LogLCKStreaming

See Also

Streaming Overview

Architecture and platform details

Authentication

Detailed authentication and pairing guide

Recording

Record locally while streaming