What problem does it solve?
Custom UI removes the limitation of being locked into the SDK’s default controls when you want a branded, tailor-made calling experience.
Core Features & Use Cases
- Hide default SDK panels: Hide the control panel and/or header while still rendering the call view content.
- Create SwiftUI controls that drive CallSession: Implement your own mute/unmute, pause/resume video, switch camera, and end-call actions.
- Keep UI in sync with real media state: Use MediaEventsListener callbacks and update SwiftUI state on the main thread.
- Use Case: You’re building a co-branded calling screen where the bottom bar and header are entirely replaced by your app’s design system components.
Quick Start
Create a SessionSettingsBuilder with hideControlPanel(true) and hideHeaderPanel(true), then render the call view in SwiftUI via UIViewRepresentable while your custom buttons call the relevant CallSession methods and update state from MediaEventsListener events.