Skip to main content

Classes

ULCKSubsystem

ULCKSubsystem
class
World subsystem managing ULCKService lifecycle.Parent: UWorldSubsystemModule: LCKTablet

Methods

MethodReturnDescription
Initialize(Collection)voidInitialize subsystem and create service
Deinitialize()voidCleanup and destroy service
GetService()ULCKService*Get the service instance

ULCKService

ULCKService
class
Central service for recording and camera control.Parent: UObjectModule: LCKTablet

Recording Methods

MethodReturnDescription
StartRecording()voidBegin video recording
StopRecording()voidEnd video recording
ForceStopRecording()voidForce stop (bypasses state checks)
PauseRecording()voidPause recording
ResumeRecording()voidResume paused recording
TakePhoto()voidCapture single frame
IsRecording()boolCheck if currently recording
GetCurrentRecordingDuration()floatGet recording time in seconds
GetCurrentMicrophoneAudioLevel()floatGet microphone volume (0-1)
SetMicrophoneEnabled(bEnabled)voidEnable/disable microphone
IsMicrophoneEnabled()boolCheck if microphone enabled

Configuration Methods

MethodParametersDescription
ApplyRecordingSettingsWidth, Height, Framerate, VideoBitrate, AudioBitrate, SamplerateApply recording parameters
RegisterCaptureComponentFName ComponentName, USceneCaptureComponent2D*Register capture source
UnregisterCaptureComponentFName ComponentNameUnregister capture component

Delegates

DelegateSignatureDescription
OnRecordingError(FString ErrorMessage, int32 ErrorCode)Error occurred
OnCameraModeChanged(UClass* ModeClass)Camera mode changed
OnRecordingSaveFinished(bool Success)Save completed
OnRecordingSaveProgress(float Progress)Save progress (0-1)

ULCKTabletDataModel

ULCKTabletDataModel
class
Reactive data store with UI binding delegates.Parent: UObjectModule: LCKTablet

Camera Mode Methods

MethodDescription
SetCameraMode(UClass*)Switch camera mode
GetCameraMode()Get current camera mode class

Selfie Mode Methods

MethodDescription
SetSelfieFOV(int8 Direction)Adjust FOV (-1/+1)
SetSelfieSmoothness(int8 Direction)Adjust smoothness
ToggleSelfieIsFollowing()Toggle follow mode
SetSelfieFollowDistance(int8 Direction)Adjust follow distance
ToggleSelfieCameraFacing()Toggle front/rear
SetSelfieCameraFacing(ELCKCameraFacing)Set facing directly

First Person Methods

MethodDescription
SetFirstPersonFOV(int8 Direction)Adjust FOV
SetFirstPersonSmoothness(int8 Direction)Adjust smoothness

Third Person Methods

MethodDescription
SetThirdPersonFOV(int8 Direction)Adjust FOV
SetThirdPersonSmoothness(int8 Direction)Adjust smoothness
SetThirdPersonDistance(int8 Direction)Adjust distance
ToggleThirdPersonIsFront()Toggle front/back

Recording Methods

MethodDescription
ToggleMicState()Toggle microphone on/off
SetMicState(ELCKMicState)Set mic state directly
GetMicState()Get current mic state
ToggleScreenOrientation()Toggle landscape/portrait
SetScreenOrientation(ELCKScreenOrientation)Set orientation
GetScreenOrientation()Get current orientation
CycleVideoQuality()Cycle quality presets
SetVideoQuality(ELCKVideoQuality)Set quality directly
GetCurrentVideoQuality()Get current quality

Recording Profiles

PropertyTypeDescription
Profile_SDFLCKRecordingProfileSD preset (720p)
Profile_HDFLCKRecordingProfileHD preset (1080p)
Profile_2KFLCKRecordingProfile2K preset (1440p)
Profile_4KFLCKRecordingProfile4K preset (2160p)

ULCKBaseCameraMode

ULCKBaseCameraMode
class
Abstract base class for camera modes.Parent: UActorComponentModule: LCKTablet

Methods

MethodDescription
ActivateMode(Camera)Activate this camera mode
DeactivateMode(Camera)Deactivate this camera mode
SetSmoothness(float)Set camera smoothness
SetDistance(float)Set camera distance
SetCameraRoot(USceneComponent*)Set root component
SetSpringArm(USpringArmComponent*)Set spring arm

Structures

FLCKTabletData

Saveable structure for user preferences.
USTRUCT(BlueprintType)
struct FLCKTabletData
{
    UPROPERTY(SaveGame)
    TSoftClassPtr<ULCKBaseCameraMode> CameraMode;

    // Selfie Settings
    UPROPERTY(SaveGame) float SelfieFOV;
    UPROPERTY(SaveGame) float SelfieSmoothness;
    UPROPERTY(SaveGame) bool SelfieIsFollowing;

    // First Person Settings
    UPROPERTY(SaveGame) float FirstPersonFOV;
    UPROPERTY(SaveGame) float FirstPersonSmoothness;

    // Third Person Settings
    UPROPERTY(SaveGame) float ThirdPersonFOV;
    UPROPERTY(SaveGame) float ThirdPersonDistance;

    // Recording Settings
    UPROPERTY(SaveGame) bool IsMicOn;
    UPROPERTY(SaveGame) ELCKScreenOrientation ScreenOrientation;
    UPROPERTY(SaveGame) ELCKVideoQuality VideoQuality;
};

FLCKRecordingProfile

USTRUCT(BlueprintType)
struct FLCKRecordingProfile
{
    UPROPERTY(EditAnywhere, BlueprintReadWrite)
    int32 Width;

    UPROPERTY(EditAnywhere, BlueprintReadWrite)
    int32 Height;

    UPROPERTY(EditAnywhere, BlueprintReadWrite)
    int32 Framerate;

    UPROPERTY(EditAnywhere, BlueprintReadWrite)
    int32 VideoBitrate;

    UPROPERTY(EditAnywhere, BlueprintReadWrite)
    int32 AudioBitrate;

    UPROPERTY(EditAnywhere, BlueprintReadWrite)
    int32 Samplerate;
};

Delegates

Service Delegates

DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnRecordingError,
    FString, ErrorMessage, int32, ErrorCode);

DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnCameraModeChanged,
    UClass*, ModeClass);

DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnRecordingSaveFinished,
    bool, Success);

DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnRecordingSaveProgress,
    float, Progress);

Data Model Delegates

DECLARE_MULTICAST_DELEGATE_OneParam(FOnTabletCameraModeChanged, UClass*);
DECLARE_MULTICAST_DELEGATE_OneParam(FOnSelfieFOVChanged, float);
DECLARE_MULTICAST_DELEGATE_OneParam(FOnSelfieSmoothnessChanged, float);
DECLARE_MULTICAST_DELEGATE_OneParam(FOnSelfieIsFollowingChanged, bool);
DECLARE_MULTICAST_DELEGATE_OneParam(FOnSelfieFollowDistanceChanged, float);
DECLARE_MULTICAST_DELEGATE_OneParam(FOnSelfieCameraFacingChanged, ELCKCameraFacing);
DECLARE_MULTICAST_DELEGATE_OneParam(FOnFirstPersonFOVChanged, float);
DECLARE_MULTICAST_DELEGATE_OneParam(FOnFirstPersonSmoothnessChanged, float);
DECLARE_MULTICAST_DELEGATE_OneParam(FOnThirdPersonFOVChanged, float);
DECLARE_MULTICAST_DELEGATE_OneParam(FOnThirdPersonSmoothnessChanged, float);
DECLARE_MULTICAST_DELEGATE_OneParam(FOnThirdPersonDistanceChanged, float);
DECLARE_MULTICAST_DELEGATE_OneParam(FOnThirdPersonIsFrontPositionChanged, bool);
DECLARE_MULTICAST_DELEGATE_OneParam(FOnMicStateChanged, ELCKMicState);
DECLARE_MULTICAST_DELEGATE_OneParam(FOnMicLevelChanged, float);
DECLARE_MULTICAST_DELEGATE_OneParam(FOnScreenOrientationChanged, ELCKScreenOrientation);
DECLARE_MULTICAST_DELEGATE_OneParam(FOnVideoQualityChanged, ELCKVideoQuality);
DECLARE_MULTICAST_DELEGATE_OneParam(FOnRecordStateChage, ELCKRecordingState);

Helper Classes

FLCKJsonSaveHelper

JSON-based save/load utility.
class FLCKJsonSaveHelper
{
public:
    static bool SaveToFile(const FLCKTabletData& Data, const FString& Filename);
    static bool LoadFromFile(FLCKTabletData& Data, const FString& Filename);
};

Log Category

DECLARE_LOG_CATEGORY_EXTERN(LogLCKTablet, Log, All);