Overview
LCK UI components automatically reflect the current recording state. This page covers:- Recording state enumeration
- Visual feedback per state
- State transitions
- Synchronizing custom UI with LCK state
ELCKRecordingState
The recording system has six states:| State | Description | UI Behavior |
|---|---|---|
Idle | Ready to record | Default colors, all buttons enabled |
Recording | Actively capturing | Red record indicator, timer visible |
Saving | Writing file to disk | Progress indicator visible |
Processing | Finalizing video | Progress indicator, buttons disabled |
Error | Something went wrong | Error indicator, retry available |
Paused | Recording paused | Pause indicator, resume available |
State Machine
Visual Feedback
Default State Colors
| State | Primary Color | Recommended Hex |
|---|---|---|
| Idle | Blue/Gray | #5E45FF / #808080 |
| Recording | Red | #FF4444 |
| Saving | Yellow/Orange | #FFAA00 |
| Processing | Yellow/Orange | #FFAA00 |
| Error | Red/Dark | #CC0000 |
| Paused | Gray/Blue | #666699 |
Recording Indicator
During recording, the UI shows:- Pulsing red record dot
- Recording duration timer
- Microphone level meter
Button State Transitions
Cooldown Timer
Buttons have a cooldown to prevent accidental double-presses:Two-Phase Interaction
LCK buttons use a two-phase interaction model:- Overlap Begin - Hand enters button collision
- Overlap End - Hand exits button collision
Subscribing to State Changes
ULCKTabletDataModel
The tablet data model provides state change delegates:Reactive Properties
The data model uses reactive properties that broadcast on change:Synchronizing Custom UI
Example: Custom Recording Indicator
Example: Duration Timer
State Persistence
Recording state does NOT persist across sessions. On game start, state is alwaysIdle.
Settings that DO persist:
- Last used camera mode
- Last used quality profile
- Audio configuration