Skip to main content

Enumerations

ELCKAudioChannel

Audio channel types for routing and mixing.
enum ELCKAudioChannel : uint64
{
    None       = 0,           // No audio channel
    Game       = 1,           // Game audio output
    Microphone = 1 << 1,      // Microphone input
    VoiceChat  = 1 << 2,      // Voice chat audio (reserved)
    Max        = 1 << 3       // Maximum value marker
};
ValueBitDescriptionSources
None0No audio-
Game1Game audio outputUnrealAudio, FMOD, Wwise, Vivox (incoming)
Microphone2Microphone inputUnrealAudio, Oboe, Vivox (outgoing)
VoiceChat4ReservedNot currently used
LCKVivox maps incoming voice chat to Game channel and outgoing microphone to Microphone channel for unified handling.

ELCKButtonType

Button shape types for UI components.
UENUM(BlueprintType)
enum class ELCKButtonType : uint8
{
    Square      UMETA(DisplayName = "Square"),
    Rectangle   UMETA(DisplayName = "Rectangle"),
    Tab         UMETA(DisplayName = "Tab"),
    Selector    UMETA(DisplayName = "Selector")
};
ValueBox ExtentUV Step
Square(0.4, 2.4, 2.4)(0.1, 0.1)
Rectangle(0.4, 6.0, 2.4)(0.25, 0.1)
Tab(0.4, 4.4, 2.4)(0.183, 0.1)
Selector(2.4, 4.4, 0.8)(0.183, 0.033)

ELCKRecordingState

Recording state machine states.
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")
};
ValueDescription
IdleNo recording in progress
RecordingActively recording
SavingFinalizing and saving file
ProcessingPost-processing video
ErrorError occurred
PausedRecording paused

ELCKVideoQuality

Video quality presets.
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)
};
ValueResolutionTypical Bitrate
SD1280 x 7202 Mbps
HD1920 x 10804 Mbps
TWO_K2560 x 14408 Mbps
FOUR_K3840 x 216016 Mbps

ELCKScreenOrientation

Display orientation.
UENUM(BlueprintType)
enum class ELCKScreenOrientation : uint8
{
    Landscape   UMETA(DisplayName = "Landscape"),
    Portrait    UMETA(DisplayName = "Portrait")
};

ELCKCameraFacing

Camera facing direction.
UENUM(BlueprintType)
enum class ELCKCameraFacing : uint8
{
    Front   UMETA(DisplayName = "Front"),
    Rear    UMETA(DisplayName = "Rear")
};

ELCKButtonInteractionDirection

Touch validation direction.
UENUM(BlueprintType)
enum class ELCKButtonInteractionDirection : uint8
{
    Forward     UMETA(DisplayName = "Forward"),
    Up          UMETA(DisplayName = "Up")
};

Structures

FLCKTapData

Touch/interaction event data.
USTRUCT()
struct LCKUI_API FLCKTapData
{
    GENERATED_BODY()

    UPROPERTY()
    FVector ButtonLocation = FVector::ZeroVector;

    UPROPERTY()
    FVector ButtonRightVector = FVector::ZeroVector;

    UPROPERTY()
    FVector ButtonForwardVector = FVector::ZeroVector;

    UPROPERTY()
    FVector TapLocation = FVector::ZeroVector;

    UPROPERTY()
    bool IsPressed = false;
};
FieldTypeDescription
ButtonLocationFVectorWorld position of the button
ButtonRightVectorFVectorButton’s local right vector
ButtonForwardVectorFVectorButton’s local forward vector
TapLocationFVectorWorld position of the tap event
IsPressedboolWhether button is currently pressed

FLCKColor

Color palette for UI styling.
USTRUCT()
struct LCKUI_API FLCKColor
{
    static constexpr FColor Primary         {8, 8, 8};
    static constexpr FColor PrimaryText     {220, 220, 220};
    static constexpr FColor Secondary       {16, 16, 16};
    static constexpr FColor Disabled        {96, 96, 96};
    static constexpr FColor ButtonDefault   {40, 40, 40};
    static constexpr FColor ButtonIconDefault {220, 220, 220};
    static constexpr FColor ButtonActive    {94, 69, 255};
    static constexpr FColor Debug           {255, 0, 255};
    static constexpr FColor Alert           {255, 42, 42};
    static constexpr FColor Success         {32, 196, 64};
    static constexpr FColor White           {255, 255, 255};
    static constexpr FColor Black           {0, 0, 0};
};
ColorRGBHexUsage
Primary(8, 8, 8)#080808Main background
PrimaryText(220, 220, 220)#DCDCDCPrimary text
ButtonActive(94, 69, 255)#5E45FFActive/pressed
Alert(255, 42, 42)#FF2A2ARecording indicator
Success(32, 196, 64)#20C440Success state

ELCKTelemetryEventType

Telemetry event types for analytics.
UENUM()
enum class ELCKTelemetryEventType : uint8
{
    GameInitialized    UMETA(DisplayName = "Game Initialized"),
    ServiceCreated     UMETA(DisplayName = "Service Created"),
    ServiceDisposed    UMETA(DisplayName = "Service Disposed"),
    CameraEnabled      UMETA(DisplayName = "Camera Enabled"),
    CameraDisabled     UMETA(DisplayName = "Camera Disabled"),
    RecordingStarted   UMETA(DisplayName = "Recording Started"),
    RecordingStopped   UMETA(DisplayName = "Recording Stopped"),
    PhotoCaptured      UMETA(DisplayName = "Photo Captured"),
    PhotoCaptureError  UMETA(DisplayName = "Photo Capture Error"),
    RecorderError      UMETA(DisplayName = "Recorder Error"),
    SdkError           UMETA(DisplayName = "SDK Error"),
    Performance        UMETA(DisplayName = "Performance")
};

ELCKGameAudioType

Game audio middleware type for configuration.
UENUM(BlueprintType)
enum class ELCKGameAudioType : uint8
{
    None        UMETA(DisplayName = "None"),
    FMOD        UMETA(DisplayName = "FMOD"),
    Wwise       UMETA(DisplayName = "Wwise"),
    UnrealAudio UMETA(DisplayName = "Unreal Audio")
};
Priority order when multiple middlewares are enabled: FMOD > Wwise > UnrealAudio

Structures

FLCKRecorderParams

Recording configuration parameters.
USTRUCT(BlueprintType)
struct FLCKRecorderParams
{
    GENERATED_BODY()

    UPROPERTY(EditAnywhere, BlueprintReadWrite)
    int32 Width = 1920;

    UPROPERTY(EditAnywhere, BlueprintReadWrite)
    int32 Height = 1080;

    UPROPERTY(EditAnywhere, BlueprintReadWrite)
    int32 Framerate = 30;

    UPROPERTY(EditAnywhere, BlueprintReadWrite)
    int32 VideoBitrate = 2000000;  // 2 Mbps

    UPROPERTY(EditAnywhere, BlueprintReadWrite)
    int32 Samplerate = 48000;

    UPROPERTY(EditAnywhere, BlueprintReadWrite)
    int32 AudioBitrate = 256000;   // 256 Kbps
};
FieldTypeDefaultDescription
Widthint321920Video width in pixels
Heightint321080Video height in pixels
Framerateint3230Target frames per second (15-120)
VideoBitrateint322000000Video bitrate in bps
Samplerateint3248000Audio sample rate in Hz
AudioBitrateint32256000Audio bitrate in bps

FLCKRecordingProfileSettings

Recording profile settings structure (configured in Project Settings).
USTRUCT(BlueprintType)
struct FLCKRecordingProfileSettings
{
    GENERATED_BODY()

    UPROPERTY(VisibleAnywhere, BlueprintReadOnly)
    int32 Width = 1280;

    UPROPERTY(VisibleAnywhere, BlueprintReadOnly)
    int32 Height = 720;

    UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (ClampMin = "15", ClampMax = "120"))
    int32 Framerate = 30;

    UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (ClampMin = "500000", ClampMax = "100000000"))
    int32 VideoBitrate = 4000000;  // 4 Mbps

    UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (ClampMin = "64000", ClampMax = "512000"))
    int32 AudioBitrate = 128000;  // 128 Kbps

    UPROPERTY(BlueprintReadOnly)
    int32 Samplerate = 48000;
};

FLCKSelfieModeDefaults

Default settings for Selfie camera mode.
USTRUCT(BlueprintType)
struct FLCKSelfieModeDefaults
{
    GENERATED_BODY()

    UPROPERTY(EditAnywhere, meta = (ClampMin = "20.0", ClampMax = "120.0"))
    float FOV = 80.0f;

    UPROPERTY(EditAnywhere, meta = (ClampMin = "0.0", ClampMax = "100.0"))
    float Smoothness = 50.0f;

    UPROPERTY(EditAnywhere, meta = (ClampMin = "0.5", ClampMax = "10.0"))
    float FollowDistance = 2.0f;

    UPROPERTY(EditAnywhere)
    bool bFollowEnabled = false;
};

FLCKFirstPersonModeDefaults

Default settings for First Person camera mode.
USTRUCT(BlueprintType)
struct FLCKFirstPersonModeDefaults
{
    GENERATED_BODY()

    UPROPERTY(EditAnywhere, meta = (ClampMin = "20.0", ClampMax = "120.0"))
    float FOV = 90.0f;

    UPROPERTY(EditAnywhere, meta = (ClampMin = "0.0", ClampMax = "100.0"))
    float Smoothness = 75.0f;
};

FLCKThirdPersonModeDefaults

Default settings for Third Person camera mode.
USTRUCT(BlueprintType)
struct FLCKThirdPersonModeDefaults
{
    GENERATED_BODY()

    UPROPERTY(EditAnywhere, meta = (ClampMin = "20.0", ClampMax = "120.0"))
    float FOV = 90.0f;

    UPROPERTY(EditAnywhere, meta = (ClampMin = "0.0", ClampMax = "100.0"))
    float Smoothness = 100.0f;

    UPROPERTY(EditAnywhere, meta = (ClampMin = "0.5", ClampMax = "10.0"))
    float Distance = 2.0f;

    UPROPERTY(EditAnywhere, meta = (ClampMin = "-90.0", ClampMax = "90.0"))
    float PitchAngle = -30.0f;
};

Type Definitions

TLCKAudioChannelsMask

Bitmask type for combining multiple audio channels.
typedef uint64 TLCKAudioChannelsMask;

Usage

// Create mask with game audio and microphone
TLCKAudioChannelsMask Channels = ELCKAudioChannel::Game | ELCKAudioChannel::Microphone;

// Check if mask contains a channel
bool HasMicrophone = (Channels & ELCKAudioChannel::Microphone) != 0;

// Start capture with specific channels
AudioSource->StartCapture(Channels);