--- title: "Web Component View: UI Customization and Limitations" --- # Web Component View: UI Customization and Limitations This addresses common questions like: - “How do I hide meeting info / passcode / invite URL?” - “How do I remove Participants / Audio / Video / Share buttons?” - “Can I fully customize the Meeting SDK UI?” ## First: Confirm View Type - **Component View** (npm): `ZoomMtgEmbedded.createClient()` - **Client View** (CDN): `ZoomMtg.*` The available customization knobs differ. ## Component View Customization Entry Point Component View customization is done via `client.init({ customize: { ... } })`. The most common knob is `customize.meetingInfo`, which controls what shows in “meeting info” surfaces. Example reference: - `meeting-sdk/web/component-view/SKILL.md` (Customize Object section) - `meeting-sdk/web/SKILL.md` (Key options snippet) ## Hiding “Meeting Info” (Topic/MN/Passcode/Invite) Use `customize.meetingInfo` to control which fields are displayed. Important: this controls what the **SDK UI displays**. It does not change the meeting’s underlying security settings. ## Removing Default Buttons (Participants/Audio/Video/Share) Forum expectation mismatch: the SDK supports **adding** custom toolbar buttons, but “removing all built-in controls” is not always supported (and CSS-hacking the Zoom UI is brittle and can break across SDK updates). Recommended answer pattern: 1. Ask which exact controls they want removed and why (UX vs compliance). 2. If it’s a compliance/policy requirement (e.g. “prevent recording/screen capture”), treat it as **not solvable purely via SDK UI**. 3. If it’s UX: - prefer supported `customize` options - otherwise, set expectations about what is and isn’t controllable ## Don’t Use CSS Hacks as a Primary Strategy You *can* sometimes hide elements with CSS selectors, but: - it is fragile - it can break accessibility/flow - it may violate intended product behavior Use official knobs first.