Skip to main content
Build a custom participant list UI that displays real-time participant information with full control over layout and interactions. This guide demonstrates how to hide the default participant list and create your own using participant events and actions.

Overview

The SDK provides participant data through events, allowing you to build custom UIs for:
  • Participant roster with search and filtering
  • Custom participant cards with role badges or metadata
  • Moderation dashboards with quick access to controls
  • Attendance tracking and engagement monitoring

Prerequisites


Step 1: Hide Default Participant List

Configure session settings to hide the default participant list button:

Step 2: Create Participant List Widget

Build a Flutter widget for displaying participants. Instead of Android’s RecyclerView and XML layouts, Flutter uses ListView and widget composition:

Step 3: Implement Participant Events

Listen for participant updates and handle actions in your call screen:
Flutter listeners are not lifecycle-aware. You must manually remove listeners in dispose() to prevent memory leaks.

Complete Example

Here’s the full implementation with all components:
PropertyTypeDescription
uidStringUnique identifier (CometChat user ID)
nameStringDisplay name
avatarString?URL of avatar image
pidStringParticipant ID for this call session
roleStringRole in the call
isAudioMutedboolWhether audio is muted
isVideoPausedboolWhether video is paused
isPinnedboolWhether pinned in layout
isPresentingboolWhether screen sharing
raisedHandTimestampintTimestamp when hand was raised (0 if not raised)