Skip to main content

Customization

You can customize the appearance and behavior of the classroom UI using the Customization object when creating or joining a room.

Usage​

Pass the Customization object to the API request:

final customization = Customization(
theme: ClassroomTheme.dark,
showLobby: true,
showLogo: false,
);

await client.joinRoom('room-id', JoinRoomRequest(
participant: ...,
customization: customization,
));

Presets​

The SDK includes presets for common scenarios:

Viewer Preset​

Optimized for passive viewers (like a webinar). Hides interactive controls.

final viewerConfig = Customization.viewer(
theme: ClassroomTheme.light,
);

Available Options​

See the Platform Customization Guide for a full list of available options. The Flutter SDK Customization class mirrors these options 1:1.

PropertyDescriptionDefault
themeClassroomTheme.light, dark, or system.system
showLobbyShow A/V setup screen before joining the room.true
showClassTitleShow the classroom title in the header.true
showLogoDisplay the organization logo.true
showHeaderShow/hide the entire top header bar.true
showParticipantNameShow the current user's name in their video tile/controls.true
showMicIndicatorDisplay the microphone activity indicator.true
needChatEnable the sidebar chat panel.true
needControlbarShow the bottom control bar (mute, camera, leave).true
allowScreenShareEnable screen sharing for participants.true
allowHandRaiseEnable the "Raise Hand" feature.true
allowRecordingEnable session recording (requires server-side setup).true
allowIngressEnable external stream ingress (RTMP/WHIP).false
validateDomainRestrict loading to pre-configured authorized domains.true