Ship real-time media.
Keep control of the product.
Start with a complete room, customize the surfaces that matter, or run MediaSFU as the engine beneath your own interface. The same path works across web, mobile, native, Flutter, and Unity.
Choose the shortest path
Begin at the highest level that fits. You can move toward deeper control later without replacing the room runtime.
Ship a complete room
Install an SDK, render a prebuilt room, and validate create or join.
Open Quickstart →02Keep the workflowMake the room yours
Change branding, cards, controls, menus, or modals while keeping MediaSFU orchestration.
Explore UI overrides →03Own the workspaceBuild a custom product UI
Drive a console, support surface, host dashboard, or branded call shell with live helpers.
Choose custom or headless →04Lowest-level pathUse the shared engine
Build a framework wrapper or runtime shell from MediaSFU's shared room and transport primitives.
Open shared core →One clear completion flow
Production rule: keep long-lived credentials off the client
Validate the room quickly, then put create and join behind your backend before shipping.
Pick the product shape
Calls and meetings
General rooms, conferences, classes, consultations, and compact call screens.
LIVEWebinars and broadcasts
Host-led events, panelists, creator streams, and production dashboards.
OPSSupport and operator tools
Agent consoles, moderation workspaces, chat-first products, and AI-assisted operations.
3DGames and simulations
Scene-owned voice and video for training, social worlds, simulations, and interactive 3D apps.
Choose your SDK
Use the framework your product already uses. Every guide begins with what is prebuilt, the first working code, customization depth, and the engine-level path.
