What Problem Does This Solve?
ULCKService is your main entry point for LCK functionality:
- Start/stop/pause/resume recording
- Configure recording resolution, framerate, and bitrate
- Control microphone audio capture
- Take photos
- Monitor recording state and errors
When to Use This
UseULCKService when:
- Building custom recording UI
- Implementing record buttons, settings menus
- Controlling recording from gameplay code
- Integrating recording into your game flow
Accessing the Service
From C++
From Blueprint
Recording Methods
StartRecording / StopRecording
For async recording with callbacks and progress tracking, use
ULCKRecorderSubsystem::StartRecordingAsync() and StopRecordingAsync() directly. See ULCKRecorderSubsystem for details.PauseRecording / ResumeRecording
IsRecording / GetCurrentRecordingDuration
GetRecordingState
Photo Capture
ULCKService for photo saves.
Recording Settings
ApplyRecordingSettings
Configure resolution, framerate, and bitrate for recordings:Audio Control
Microphone
GetCurrentMicrophoneAudioLevel() is not exposed to Blueprint. It is available from C++ only.Preview Mode
Preview mode (camera output without recording to disk) is managed byULCKRecorderSubsystem, not ULCKService.
Delegates on ULCKService
ULCKService exposes the following delegates directly:
Example: Subscribing to delegates
State Tracking via Data Model
For UI-level state notifications (recording state changes, quality changes, orientation changes, camera mode switches), useULCKTabletDataModel.
Get the Data Model
Available Data Model Events
Example: State-driven UI
Streaming Methods
ULCKService also provides streaming functionality when the streaming feature is available:
Streaming Delegates
These are non-dynamic multicast delegates (useAddUObject or AddLambda):
Complete Example: Recording Manager
Key Takeaways
Get via ULCKSubsystem — Don’t create or cache manually
Check IsRecording() — Before changing settings or starting
Use DataModel for state events — Subscribe to
OnRecordStateChanged on ULCKTabletDataModelPreview lives on ULCKRecorderSubsystem — Not on ULCKService
Quality and orientation are on DataModel — Use
ULCKTabletDataModel to change presetsRelated
- Delegates Reference — All event delegates
- Error Codes — Error handling
- Enums Reference — All enum values
- Architecture — How ULCKService fits into the system