Classes
ULCKSubsystem
World subsystem managing ULCKService lifecycle.Parent: UWorldSubsystemModule: LCKTablet
Methods
| Method | Return | Description |
|---|
Initialize(Collection) | void | Initialize subsystem and create service |
Deinitialize() | void | Cleanup and destroy service |
GetService() | ULCKService* | Get the service instance |
ULCKService
Central service for recording and camera control.Parent: UObjectModule: LCKTablet
Recording Methods
| Method | Return | Description |
|---|
StartRecording() | void | Begin video recording |
StopRecording() | void | End video recording |
ForceStopRecording() | void | Force stop (bypasses state checks) |
PauseRecording() | void | Pause recording |
ResumeRecording() | void | Resume paused recording |
TakePhoto() | void | Capture single frame |
IsRecording() | bool | Check if currently recording |
GetCurrentRecordingDuration() | float | Get recording time in seconds |
GetCurrentMicrophoneAudioLevel() | float | Get microphone volume (0-1) |
SetMicrophoneEnabled(bEnabled) | void | Enable/disable microphone |
IsMicrophoneEnabled() | bool | Check if microphone enabled |
Configuration Methods
| Method | Parameters | Description |
|---|
ApplyRecordingSettings | Width, Height, Framerate, VideoBitrate, AudioBitrate, Samplerate | Apply recording parameters |
RegisterCaptureComponent | FName ComponentName, USceneCaptureComponent2D* | Register capture source |
UnregisterCaptureComponent | FName ComponentName | Unregister capture component |
Delegates
| Delegate | Signature | Description |
|---|
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
Reactive data store with UI binding delegates.Parent: UObjectModule: LCKTablet
Camera Mode Methods
| Method | Description |
|---|
SetCameraMode(UClass*) | Switch camera mode |
GetCameraMode() | Get current camera mode class |
Selfie Mode Methods
| Method | Description |
|---|
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
| Method | Description |
|---|
SetFirstPersonFOV(int8 Direction) | Adjust FOV |
SetFirstPersonSmoothness(int8 Direction) | Adjust smoothness |
Third Person Methods
| Method | Description |
|---|
SetThirdPersonFOV(int8 Direction) | Adjust FOV |
SetThirdPersonSmoothness(int8 Direction) | Adjust smoothness |
SetThirdPersonDistance(int8 Direction) | Adjust distance |
ToggleThirdPersonIsFront() | Toggle front/back |
Recording Methods
| Method | Description |
|---|
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
| Property | Type | Description |
|---|
Profile_SD | FLCKRecordingProfile | SD preset (720p) |
Profile_HD | FLCKRecordingProfile | HD preset (1080p) |
Profile_2K | FLCKRecordingProfile | 2K preset (1440p) |
Profile_4K | FLCKRecordingProfile | 4K preset (2160p) |
ULCKBaseCameraMode
Abstract base class for camera modes.Parent: UActorComponentModule: LCKTablet
Methods
| Method | Description |
|---|
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);