Skip to main content

Overview

LCK UI components automatically reflect the current recording state. This page covers recording state enumeration, visual feedback per state, state transitions, and synchronizing custom UI with LCK state.

ELCKRecordingState

The recording system has six states:

State Machine


Visual Feedback

Default State Colors

Recording Indicator

During recording, the UI shows a pulsing red record dot, recording duration timer, and 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) and 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 non-dynamic multicast delegates that broadcast on change:
These are non-dynamic delegates. Use AddLambda() or AddUObject() to subscribe — NOT AddDynamic().

Synchronizing Custom UI

Example: Custom Recording Indicator

Example: Duration Timer


State Persistence

Recording state does NOT persist across sessions. On game start, state is always Idle. Settings that DO persist: last used camera mode, last used quality profile, and audio configuration.

Error Handling

Error State Recovery


See Also

Customization

Customize UI appearance

Core SDK API Reference

Complete API documentation