This plugin handles the setup required for Expo projects to use the LiveKit React Native SDK.
npx expo install livekit-client @livekit/react-native @livekit/react-native-expo-plugin @livekit/react-native-webrtc @config-plugins/react-native-webrtc
After installing this npm package, add the config plugin to the plugins array of your app.json or app.config.js:
{
"expo": {
"plugins": ["@livekit/react-native-expo-plugin", "@config-plugins/react-native-webrtc"]
}
}
This plugin optionally takes in an object to customize the configuration:
Android
| Option | Type | Default | Description |
|---|---|---|---|
audioType |
"media" | "communication" |
"communication" |
Audio type for the Android audio session. |
iOS
| Option | Type | Default | Description |
|---|---|---|---|
enableMultitaskingCameraAccess |
boolean |
false |
When true, prepares the package for background camera access (only on iOS 18+, and requires the voip UIBackgroundMode). |
Example:
{
"expo": {
"plugins": [
[
"@livekit/react-native-expo-plugin",
{
"android": {
"audioType": "communication"
},
"ios": {
"enableMultitaskingCameraAccess": false
}
}
]
]
}
}
Config plugins are not supported in React Native projects. Read the installation guide on the React Native SDK to see how to setup in a React Native project.
| LiveKit Ecosystem | |
|---|---|
| Real-time SDKs | React Components · JavaScript · iOS/macOS · Android · Flutter · React Native · Rust · Python · Unity (web) · Unity (beta) |
| Server APIs | Node.js · Golang · Ruby · Java/Kotlin · Python · Rust · PHP (community) |
| Agents Frameworks | Python · Playground |
| Services | Livekit server · Egress · Ingress · SIP |
| Resources | Docs · Example apps · Cloud · Self-hosting · CLI |