How recording works
When a user taps Record on the LCK tablet, the activeLckCamera begins capturing frames. The captured video and audio are sent to a hardware-accelerated encoder and written to disk. Users can switch between cameras seamlessly during recording without interruption.
Recordings are saved to:
- Quest: Storage/Movies/<RecordingAlbumName>
- PCVR: <User>/Videos/<RecordingAlbumName>
Camera modes
LCK includes three built-in camera modes, all available from the tablet UI:| Mode | Description | Settings |
|---|---|---|
| Selfie | Front/back facing camera on the tablet | FOV, Smoothing, Flip, Follow |
| First-person | Films from the player’s HMD perspective | FOV, Smoothing |
| Third-person | Tracks the user’s head at a distance | FOV, Smoothing, Distance, Flip |
Quality presets
Quality is configured through theLckQualityConfig ScriptableObject, referenced by the LCKCameraController component.
Android (Quest) defaults
| Preset | Resolution | Bitrate | Framerate | Audio Bitrate |
|---|---|---|---|---|
| SD | 1280x720 | 7.5 Mbps | 60 fps | 192 kbps |
| HD | 1920x1080 | 12 Mbps | 60 fps | 192 kbps |
Desktop (PCVR) defaults
| Preset | Resolution | Bitrate | Framerate | Audio Bitrate |
|---|---|---|---|---|
| SD | 1280x720 | 7.5 Mbps | 60 fps | 192 kbps |
| HD | 1920x1080 | 12 Mbps | 60 fps | 192 kbps |
| 2K | 2560x1440 | 25 Mbps | 60 fps | 192 kbps |
| 4K | 3840x2160 | 65 Mbps | 60 fps | 192 kbps |
LckQualityConfig asset.
Recording API
For programmatic control, accessLckService via dependency injection:
Core methods
Configure quality programmatically
Events
Higher quality capture rendering
If you want capture output to look better than the in-game experience (for example, higher-quality player avatars), the recommended approach is to use separate render layers:- Create a duplicate of the object at higher quality.
- Place it on a dedicated render layer visible only to LCK cameras.
- Keep the original on a different layer for gameplay rendering.