Skip to main content

What You Can Build

Use this page for the five-minute answer to three questions: what MediaSFU already provides, how much of it you can replace, and which SDK best fits the application you are building.

Start with the product, not the API

I want to build...Fastest starting pointCustomize when...
Team video calls, classes, or workshopsA prebuilt Generic or Conference roomApply targeted overrides for branding, cards, controls, or selected modals.
A webinar or virtual eventA prebuilt Webinar roomReplace host, panelist, or audience surfaces only where your workflow differs.
A creator broadcast or livestreamA prebuilt Broadcast roomMove to a custom host dashboard when production controls no longer fit a room layout.
Support, consultation, or chat-first collaborationA Chat room or compact custom call screenUse headless mode when the main product is a CRM, inbox, or agent workspace.
An operator, AI agent, or moderation consoleA headless UI SDK integrationKeep MediaSFU state and actions underneath your app-owned workspace.
A game, simulation, or 3D social experienceUnity SDKLet Unity own the scene and use MediaSFU for room and media orchestration.
A new framework integration or runtime shellmediasfu-sharedBuild the framework adapter and every visible surface yourself.

What is prebuilt

The full UI SDKs provide room entry and in-room experiences rather than only raw WebRTC primitives. Depending on the SDK, room type, backend, and account configuration, the supplied workflows include camera and microphone controls, screen sharing, participants, chat, recording controls, polls, breakout rooms, whiteboard, moderation, and supporting modals.

Start with the closest room shape:

Room shapeUse it for
GenericThe safest first integration while requirements are still changing.
ConferenceMulti-speaker meetings, classes, workshops, and team collaboration.
WebinarHost-led events with presenters, panelists, and an audience.
BroadcastOne-to-many live experiences and creator workflows.
ChatMessaging-led or low-bandwidth collaboration with optional media.

Feature availability is not identical on every target. Confirm specialized features such as real-time translation, virtual backgrounds, whiteboard capture, and platform screen sharing in the selected SDK guide and on the real devices you plan to support.

Choose how much UI to own

LevelKeep from MediaSFUYou ownBest when
Prebuilt roomRoom UI and runtimeApp navigation around the roomYou need a working product quickly.
Targeted overridesRoom workflow and most UISelected cards, controls, menus, modals, and stylingThe product is still recognizably a room.
Custom workspaceRuntime plus room state/actionsThe primary room workspaceYour layout differs substantially but SDK orchestration is still useful.
Headless engineRuntime, state, and action helpersEvery visible surfaceThe product is a console, game UI, CRM, or another app-owned experience.
Shared coreFramework-neutral primitivesFramework adapter, orchestration, and all UIYou are building a new SDK or need lower-level control.

Do not begin at the lowest level by default. Validate one prebuilt create/join flow, then move down this table only as product requirements demand it.

SDK capability map

SDKFastest prebuilt pathTargeted customizationApp-owned or engine pathBest learning resources
ReactJSGeneric, Conference, Webinar, Broadcast, Chat, and modern room surfacesuiOverrides, custom cards and modalscustomComponent, returnUI={false}, sourceParametersStorybook, guide stories, examples, TypeDoc
AngularAngular room wrappers for the five room shapesInputs, templates/directives, uiOverridesCustom/headless workspace and live helper bundleLive UI gallery, cookbook, TypeDoc
React NativeNative components for the five room shapesuiOverrides and custom cardscustomComponent, returnUI={false}, sourceParametersNative setup, custom UI examples, TypeDoc
ExpoExpo components for the five room shapesuiOverrides and custom cardscustomComponent, returnUI={false}, sourceParametersExpo setup, custom UI examples, TypeDoc
VueVue components for the five room shapesuiOverrides and custom cardscustomComponent, returnUI={false}, sourceParametersExamples, sandbox links, TypeDoc
FlutterSix room widgets including ModernMediasfuGenericMediasfuUICustomOverridescustomComponent, returnUI: false, MediasfuParametersDemo mode, examples, sandbox, Dartdoc
KotlinCompose wrappers for the five room shapesCompose component replacementreturnUI = false, onParametersUpdate, customComponentCompose examples, Dokka/KDoc
SwiftHosted room controllerApp-owned setup and bridge-triggered controlsNative app shell around the hosted room and media bridgeApple SDK README and USAGE.md
UnityRoom/client orchestration inside your sceneYour Unity scene is the customization layerMediaSfuClient plus an attached media backendStarter, media attachment example, API contract
SharedNoneNot applicableFramework-neutral socket, transport, room, state, and utility primitivesMinimal setup and TypeDoc

The shortest successful adoption path

  1. Choose the SDK that matches your existing application.
  2. Choose Cloud or self-hosted MediaSFU Open.
  3. Run the SDK's copy/paste starter without customization.
  4. Pick the closest prebuilt room shape.
  5. Move to overrides, a custom workspace, or headless mode only when the product requires it.
  6. Use the generated API reference only for exact signatures and exported types.

Continue with Quickstart for installation, UI overrides for selected surface changes, Custom component replacement for a new workspace, or Headless mode for an app-owned interface.