Skip to main content
v1.0.0
17 March 2026

Overview

LCK v1.0 is the first public release of the LIV Camera Kit SDK. This release introduces live streaming to YouTube, Twitch, and custom RTMP endpoints via the new LCKStreaming plugin, adds a Getting Started wizard for first-time setup, and improves audio quality with per-source sample rate handling. Encoding stability on Android has been significantly improved.

Highlights

  • Live Streaming — Stream directly to YouTube, Twitch, or custom RTMP endpoints from VR via the new LCKStreaming plugin
  • Modular Streaming ArchitectureILCKStreamingFeature modular feature interface for streaming integration, discoverable via IModularFeatures
  • Getting Started Wizard — Editor wizard guides first-time setup with audio plugin selection and configuration
  • Improved Audio Quality — Per-source sample rate handling for correct resampling across all audio plugins
  • Quest 2 Optimizations — Capped HD profile to 30 fps / 8 Mbps for reliable recording on Quest 2

New Features

LCK Core SDK

LCKStreaming (New Plugin)

LCKTablet

LCKUI

Audio Plugins

Bug Fixes

Breaking Changes

  1. TSharedPtrTSharedPtr<..., ESPMode::ThreadSafe> — All encoder and module shared pointers changed to thread-safe mode. Code holding TSharedPtr<ILCKEncoder> or TSharedPtr<ILCKEncoderFactory> must add ESPMode::ThreadSafe.
  2. FDelegateRenderAudio signature changed — Audio delegate gained a SampleRate parameter. Code binding to OnAudioDataDelegate must update the callback signature.
  3. FOnRecordStateChageFOnRecordStateChange — Typo fix in delegate name.
  4. LCKService::StartRecording() return type changed — Changed from void to bool and made BlueprintCallable.
  5. ULCKNotificationController::WriteLine() removed — Use ShowNotification() instead.
  6. Telemetry structs simplifiedFLCKGeoLocation, FLCKMetaData, FLCKTelemetryData, and FLCKTelemetryPayload were removed from LCKTelemetry.h. SendTelemetry(FLCKTelemetryEvent) and GetCurrentTrackingId() still work as before.
  7. LCKCore Build.cs dependency changesHTTP module removed from public dependencies. Json, JsonUtilities added as public. ToolMenus added for editor. If your module depended on HTTP being transitively available through LCKCore, add it to your own Build.cs.

Migration Guide (v0.9.2 → v1.0)

  1. Update shared pointer types — If you hold TSharedPtr<ILCKEncoder> or TSharedPtr<ILCKEncoderFactory>, add ESPMode::ThreadSafe as the second template parameter.
  2. Update audio delegate bindingsOnAudioDataDelegate now has 4 parameters (added int32 SampleRate between Channels and SourceChannel). Update your callback signatures.
  3. Update FOnRecordStateChageFOnRecordStateChange — Fix the typo in any delegate bindings.
  4. Update StartRecording() callers — Now returns bool. Update any code that called it as void.
  5. Replace WriteLine() callsULCKNotificationController::WriteLine() was removed. Use ShowNotification() instead.
  6. Check telemetry type usage — If you used FLCKGeoLocation, FLCKMetaData, FLCKTelemetryData, or FLCKTelemetryPayload, these structs were removed. Use FLCKTelemetryEvent directly.
  7. Add HTTP module if neededHTTP was removed from LCKCore’s public dependencies. If your module relied on it transitively, add "HTTP" to your own Build.cs.
  8. Add LCKStreaming plugin dependency — If your project uses streaming, add the LCKStreaming plugin to your .uproject or .uplugin file.
  9. Enable streaming in config — Set bEnableStreaming=true in DefaultGame.ini under [/Script/LCKCore.LCKDeveloperSettings] to package RTMP libraries.

Platform Support

v0.9.2
2 February 2026

Highlights

  • PCVR Support — LCK is a single implementation for PCVR and Meta Quest Standalone
  • Microphone Mute Control — New SetMicrophoneEnabled() API for runtime mic control
  • Audio Config Validation — Real-time validation with editor warnings in Project Settings
  • Permission Handling — Improved Android microphone permission flow with callbacks
  • Developer Settings UI — Full settings panel in Project Settings with audio plugin configuration

New Features

LCK Core SDK

LCKUI

LCKTablet

Audio Plugins

Bug Fixes

Improvements

Breaking Changes

  1. FLCKMetaData.Build — Changed from int32 to FString
  2. Mic state type — Use ELCKMicState enum instead of bool

Code Reorganization

Several components were moved between modules for better organization:If you were importing these from LCKUI, update your includes to reference LCKTablet instead.
v0.9.1
16 December 2025
  • Open Beta release