Skip to main content
The LCK Unreal SDK is structured around a ULCKSubsystem (WorldSubsystem) that creates and owns a single ULCKService instance responsible for all recording, preview and telemetry operations, while the user-facing tablet is implemented as an ALCKTablet actor (BP_LCKTablet) that owns its own ULCKTabletDataModel (persisted settings) and ULCKUISystem (3D UI) and communicates with the service only via direct function calls.
ComponentRoleLifetimeHow to Access
ULCKSubsystemWorldSubsystem → creates and owns the single ULCKService instanceWorld lifetimeGetWorld()->GetSubsystem()->GetService()
ULCKServiceCentral SDK brain: recording, preview, profiles, delegates, telemetrySingleton per player sessionAlways via ULCKSubsystem
**ALCKTablet **+ BP_LCKTabletReady-to-use actor containing full 3D UI + recording logicOne per tablet in the LevelDrop the provided **BP_LCKTablet **Blueprint
ULCKDummyRecorderController
(will be renamed)
Handles record button state & timerOwned by ALCKTabletUsed internally by the tablet
ULCKUISystemFull 3D UI orchestrator (all buttons, tabs, show/hide groups)Component of the tabletManages all UI components and data binding
ULCKTabletDataModelCentral data container (mic state, quality, orientation, camera settings, etc.)Owned by tabletAll UI elements bind to it automatically

Recording profile

The Recording Profiles system defines video capture presets for the LCK Tablet. These profiles are managed by **ULCKTabletDataModel **in the **LCKUI **plugin and are fully configurable in Blueprints.

Key Components

  • ULCKTabletDataModel (LCKUI plugin)
    • Owns all recording settings
    • Exposes four FLCKRecordingProfile instances: Profile_SD, Profile_HD, Profile_2K, **Profile_4K **
    • Exposes **CurrentVideoQuality **(enum: SD, HD, 2K, 4K)
    • Exposes **CurrentScreenOrientation **(enum: Landscape, Portrait)
  • FLCKRecordingProfile (LCKTablet plugin)
    • USTRUCT containing:
      • **ELCKRecordingResolution **Resolution
      • **ELCKFramerate **Framerate
      • **int32 **VideoBitrate
      • **int32 **AudioBitrate
      • **int32 **Samplerate
  • ULCKService (LCKTablet plugin)
    • Exposes ApplyRecordingSettings(int32 Width, int32 Height, int32 Framerate, int32 VideoBitrate, int32 AudioBitrate, int32 Samplerate)
    • Forwards parameters to ULCKRecorderSubsystem
Profile1 Recording profile Default values: **Note: **2K and 4K resolution are only available on Windows.
ProfileResolutionFramerateVideo BitrateAudio Bitrate
SD1280×72030 fps4 Mbps128 kbps
HD1920×108060 fps10 Mbps256 kbps
2K2560×144060 fps20 Mbps320 kbps
4K3840×216060 fps35 Mbps320 kbps
Profile2 These recording profiles ca be modified in the **BP_LCKTablet **blueprint to be overwritten as follow : Profile3

Telemetry

  • Telemetry is anonymous. DeviceId is an irreversible MD5 hash.
  • Define the TrackingID inside DefaultGame.ini as shown in the section “Preview Integration Guide”
EventTriggerExample context sent
GameInitializedPlugin loadedEngine version, graphics API
**ServiceCreated **/ DisposedULCKService init/shutdown
RecordingStartedUser starts recordingResolution, FPS, bitrates
RecordingStoppedUser stops recordingDuration, stop reason
PhotoCapturedTakePhoto() calledResolution, format (PNG)
**RecorderError **/ SdkErrorAny failureError message + code