What Problem Does This Solve?
When LCK operations fail, you need to know why:- Was it a permission issue?
- Storage full?
- Already recording?
- Invalid configuration?
When to Use This
Reference this when:- Handling recording failures
- Debugging SDK integration issues
- Implementing error recovery logic
- Displaying user-friendly error messages
- Validating configuration before recording
Error Mechanism
The following table documents common error codes and their meanings:Error Handling Patterns
Basic Synchronous Check
Async Error Handling (Recommended)
Validation Before Recording
Common Error Scenarios
InvalidTrackingId
Problem: The Tracking ID in Project Settings is empty or not in valid UUID v4 format Symptoms:- Recording immediately fails
- Error log: “Invalid Tracking ID - recording disabled”
- Get your Tracking ID from LIV Developer Dashboard
- Go to Project Settings → Plugins → LCK SDK
- Enter the Tracking ID in format:
xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx
RecordingAlreadyStarted
Problem: Attempted to start recording while already recording Symptoms:- Start recording fails
- Confusing UX (button does nothing)
EncoderNotAvailable
Problem: Platform-specific encoder failed to initialize Common reasons:- Windows: Media Foundation not available (rare, usually on old/stripped Windows)
- Android: Hardware encoder not supported (very old devices)
- Vulkan interop failed (Android Quest devices)
- Check platform requirements
- Verify GPU supports H.264 encoding
- Enable verbose logging:
- Look for detailed error in
LogLCKEncoding:- Windows: HRESULT error codes
- Android: MediaCodec configuration errors
InsufficientStorage
Problem: Not enough free disk space for recording How much space is needed:- SD (720p @ 30fps): ~2 GB per hour
- HD (1080p @ 60fps): ~5 GB per hour
- 2K (1440p @ 60fps): ~9 GB per hour
- 4K (2160p @ 60fps): ~16 GB per hour
- Prompt user to free up space
- Automatically reduce quality profile
- Clear old recordings
PermissionDenied
Problem: User denied microphone or storage permission on Android Android permissions required:RECORD_AUDIO— Microphone captureWRITE_EXTERNAL_STORAGE— Save recordings (API < 29)
Complete Error Handler Example
Error Logging
LCK uses Unreal’s logging system with these categories:
Enable verbose logging:
Key Takeaways
Always check IsOk/bSuccess — Never assume operations succeed
Validate before recording — Check tracking ID, storage, state
Handle common cases — Storage, permissions, state conflicts
User-friendly messages — Don’t show raw error codes to players
Enable logging for debugging — VeryVerbose shows detailed encoder info
Related
- Enums Reference — All enum values including error codes
- Delegates Reference — Error event delegates
- Architecture — How errors flow through the system
- Best Practices — Error handling patterns