Skip to main content

Recording & Capture

ELCKRecordingState

Module: LCKUI | Header: LCKRecordingState.h
Current state of the recording system.
ValueDescription
IdleNo recording active, ready to start
RecordingActively recording video
SavingSaving video file to disk
ProcessingFinalizing and processing recording
ErrorAn error occurred
PausedRecording is paused
UENUM(BlueprintType)
enum class ELCKRecordingState : uint8
{
    Idle        UMETA(DisplayName = "Idle"),
    Recording   UMETA(DisplayName = "Recording"),
    Saving      UMETA(DisplayName = "Saving"),
    Processing  UMETA(DisplayName = "Processing"),
    Error       UMETA(DisplayName = "Error"),
    Paused      UMETA(DisplayName = "Paused")
};

ELCKVideoQuality

Module: LCKUI | Header: LCKVideoQuality.h
Video quality profile selection.
ValueResolutionVideo BitrateAudio Bitrate
SD1280x7204 Mbps128 kbps
HD1920x10808 Mbps256 kbps
TWO_K2560x144012 Mbps256 kbps
FOUR_K3840x216020 Mbps320 kbps
UENUM(BlueprintType)
enum class ELCKVideoQuality : uint8
{
    SD      UMETA(DisplayName = "SD"),
    HD      UMETA(DisplayName = "HD"),
    TWO_K   UMETA(DisplayName = "2K"),
    FOUR_K  UMETA(DisplayName = "4K"),
    MAX     UMETA(Hidden)
};
For Meta Quest 2, use HD (1080p) at 30 FPS for optimal performance. Quest 3/Pro can handle higher resolutions.

ELCKScreenOrientation

Module: LCKUI
Video orientation mode.
ValueDescription
Landscape16:9 horizontal video (default)
Portrait9:16 vertical video
UENUM(BlueprintType)
enum class ELCKScreenOrientation : uint8
{
    Landscape,
    Portrait
};

Camera Modes

ELCKCameraMode

Available camera view modes.
ValueDescription
SelfieFront/back facing camera attached to tablet
FirstPersonPOV from player’s HMD position
ThirdPersonOrbital camera following player
UENUM(BlueprintType)
enum class ELCKCameraMode : uint8
{
    Selfie,
    FirstPerson,
    ThirdPerson
};

Audio System

ELCKMicState

Module: LCKUI | Header: LCKMicState.h
Microphone state for recording.
ValueDescription
OnMicrophone is enabled and capturing
OffMicrophone is disabled
No_AccessNo microphone permission granted
UENUM(BlueprintType)
enum class ELCKMicState : uint8
{
    On          UMETA(DisplayName = "On"),
    Off         UMETA(DisplayName = "Off"),
    No_Access   UMETA(DisplayName = "No Access")
};
On Android, No_Access indicates the user denied microphone permission. Prompt users to grant permission in device settings.

ELCKAudioChannel

Audio channel types for capture and mixing.
ValueBit FlagDescription
None0No audio
Game1Game audio output
Microphone2Microphone input
VoiceChat4Voice chat (e.g., Vivox)
UENUM(BlueprintType, Meta = (Bitflags, UseEnumValuesAsMaskValuesInEditor = "true"))
enum class ELCKAudioChannel : uint8
{
    None = 0,
    Game = 1 << 0,
    Microphone = 1 << 1,
    VoiceChat = 1 << 2
};
ENUM_CLASS_FLAGS(ELCKAudioChannel);
Audio channels can be combined using bitwise OR:
ELCKAudioChannel Channels = ELCKAudioChannel::Game | ELCKAudioChannel::Microphone;

ELCKGameAudioType

Detected game audio middleware.
ValueDescription
NoneNo game audio capture
UnrealAudioBuilt-in Unreal Engine audio
FMODFMOD Studio middleware
WwiseAudiokinetic Wwise middleware
UENUM(BlueprintType)
enum class ELCKGameAudioType : uint8
{
    None,
    UnrealAudio,
    FMOD,
    Wwise
};
Priority order: FMOD > Wwise > UnrealAudio. Only one game audio source is active at a time.

Telemetry

ELCKTelemetryEventType

Analytics event types sent to the LCK Dashboard.
ValueDescription
SessionStartSDK initialized
SessionEndSDK shutdown
RecordingStartRecording started
RecordingStopRecording stopped
RecordingErrorRecording failed
PhotoTakenPhoto captured
CameraModeChangedSwitched camera mode
QualityChangedChanged quality profile
OrientationChangedSwitched orientation
TabletSpawnedTablet actor spawned
TabletDestroyedTablet actor destroyed
AudioSourceChangedAudio configuration changed
UENUM(BlueprintType)
enum class ELCKTelemetryEventType : uint8
{
    SessionStart,
    SessionEnd,
    RecordingStart,
    RecordingStop,
    RecordingError,
    PhotoTaken,
    CameraModeChanged,
    QualityChanged,
    OrientationChanged,
    TabletSpawned,
    TabletDestroyed,
    AudioSourceChanged
};

UI Components

ELCKButtonState

Button visual and interaction state.
ValueDescription
DefaultNormal idle state
HoveredPointer/hand over button
PressedButton is being pressed
DisabledButton is inactive
UENUM(BlueprintType)
enum class ELCKButtonState : uint8
{
    Default,
    Hovered,
    Pressed,
    Disabled
};

See Also