Skip to main content
The LCK SDK for Unreal Engine is distributed as a set of plugins. This guide covers installing the core and optional plugins, configuring module dependencies, setting up platform-specific requirements, and verifying everything works.

Download LCK from the Developer Dashboard

  1. Go to the LIV Developer Dashboard.
  2. Create your organization.
  3. Create your game.
  4. Agree to the LCK License Agreement, Privacy Policy, and binding agreement to generate your app-specific SDK.
  5. Download the SDK package and save the Tracking ID provided.
Each game requires its own SDK. If you create a new game entry, you will need to download a new SDK.

Plugin Installation

From Source

1

Unzip the LCKGame project

  1. Unzip the LCKGame project LCKGame folder
2

Generate Visual Studio project files

  1. Generate Visual Studio project files
You may need to select ‘Show More Options’ to see the below options.Generate VS project files
3

Open the .sln and build

  1. Open the .sln generated and build the project. Visual Studio build
4

Locate Plugins

You can find the LCK plugins inside the /Plugins folder:Core:
  • LCK (required)
  • LCKUI
  • LCKTablet
  • LCKUnrealAudio
Platform-specific:
  • LCKOboe (Android microphone)
Audio Middleware (disabled by default):
  • LCKFMOD (requires FMODStudio)
  • LCKWwise (requires Wwise)
  • LCKVivox (requires VivoxCore)

Required Plugins

LCK

Required - Core recording functionality including encoding and capture

LCKAudio

Required - Audio source interface and mixing

Optional Plugins

  • LCKUI - 3D UI component library
  • LCKTablet - Complete virtual tablet interface
  • LCKUnrealAudio - Unreal Engine native audio
  • LCKOboe - Android low-latency microphone
These plugins require you to download and install third-party plugins:
  • LCKFMOD - FMOD Studio integration (requires FMODStudio plugin)
  • LCKWwise - Audiokinetic Wwise integration (requires Wwise plugin)
  • LCKVivox - Vivox voice chat capture (requires VivoxCore plugin)

Enabling Audio Middleware Plugins

LCKFMOD, LCKWwise, and LCKVivox plugins are disabled by default and will NOT compile without their respective third-party plugins installed. Only enable them after installing the required plugins.
1

Download the required plugin

2

Install the plugin

Copy the downloaded plugin to your project’s Plugins/ folder.
3

Enable in LCKGame.uproject

Edit LCKGame.uproject and set the plugins to "Enabled": true:For FMOD:
{ "Name": "FMODStudio", "Enabled": true },
{ "Name": "LCKFMOD", "Enabled": true }
For Wwise:
{ "Name": "Wwise", "Enabled": true },
{ "Name": "WwiseSoundEngine", "Enabled": true },
{ "Name": "LCKWwise", "Enabled": true }
For Vivox:
{ "Name": "VivoxCore", "Enabled": true },
{ "Name": "LCKVivox", "Enabled": true }

Module Dependencies

Add the required modules to your .Build.cs file:
PublicDependencyModuleNames.AddRange(new string[] {
    "LCKCore",
    "LCKAudio"
});

Platform Configuration

Windows Setup

No additional configuration required. The SDK uses Windows Media Foundation for encoding.Requirements:
  • Windows 10 or later
  • DirectX 11 compatible GPU
  • AVCodecsCore plugin enabled
; DefaultEngine.ini - No changes needed

Project Settings

Navigate to Project Settings > Plugins > LCK SDK:
SettingTypeDescription
Tracking IDStringUUID v4 identifier for analytics (required)
Game NameStringYour application’s display name (required)
Profile_SDStruct1280x720 quality preset
Profile_HDStruct1920x1080 quality preset
Profile_2KStruct2560x1440 quality preset
Profile_4KStruct3840x2160 quality preset

Quality Profile Settings

Each profile contains:
USTRUCT(BlueprintType)
struct FLCKRecordingProfileSettings
{
    int32 Width;
    int32 Height;
    int32 Framerate;
    int32 VideoBitrate;
    int32 AudioBitrate;
    int32 Samplerate;
};
Start with SD (1280x720) profiles for VR standalone devices like Meta Quest to ensure smooth performance.

Verification

After installation, verify the SDK is working:
#include "LCKSubsystem.h"
#include "Features/IModularFeatures.h"
#include "ILCKAudioSource.h"

void AMyActor::VerifyLCKSetup()
{
    // Check subsystem
    ULCKSubsystem* Subsystem = GetWorld()->GetSubsystem<ULCKSubsystem>();
    if (Subsystem && Subsystem->GetService())
    {
        UE_LOG(LogTemp, Log, TEXT("LCK Service initialized"));
    }

    // Check audio sources
    TArray<ILCKAudioSource*> AudioSources;
    IModularFeatures::Get().GetModularFeatureImplementations<ILCKAudioSource>(
        ILCKAudioSource::GetModularFeatureName(),
        AudioSources
    );
    UE_LOG(LogTemp, Log, TEXT("Found %d audio sources"), AudioSources.Num());
}

Troubleshooting

  • Verify plugin is in the correct Plugins/ directory
  • Regenerate project files (right-click .uproject > Generate Project Files)
  • Check Output Log for loading errors
  • Ensure the plugin is enabled in .uproject file
  • Verify module name spelling matches exactly
  • Check for circular dependencies
  • Verify Vulkan is enabled
  • Check NDK version compatibility
  • Ensure permissions are added to manifest