WebRTC for Unity is a package that allows WebRTC to be used in Unity.
If you are interested in the streaming solution with WebRTC, you can check Unity Render Streaming.
To install the package, download WebRTC for Unity from the package manager. See the documentation for details on how to use the package manager.
This version of the package is compatible with the following versions of the Unity Editor:
- Unity 2019.3 and later
Platform | Graphics API | Hardware Encoder | Software Encoder |
---|---|---|---|
Windows x64 | DirectX11 | ✅ (Require NVIDIA Graphics card) | ✅ |
Windows x64 | DirectX12 | ||
Windows x64 | OpenGL | ||
Windows x64 | Vulkan | ||
Linux x64 | OpenGL | ✅ (Require NVIDIA Graphics card) | |
Linux x64 | Vulkan | ||
MacOS | OpenGL | ||
MacOS | Metal | ✅ |
On Linux, libc++1
libc++abi1
packages should be installed.
sudo apt install -y libc++1 libc++abi1
This package uses GPU hardware acceleration for video encoding, so it only runs on graphics cards that support NVIDIA VIDEO CODEC SDK.
.
├── BuildScripts~
├── Documentation~
│ ├── en
│ ├── images
│ └── jp
├── Editor
├── Plugin~
│ ├── cmake
│ ├── gl3w
│ ├── unity
│ ├── WebRTCPlugin
│ │ ├── Codec
│ │ │ ├── NvCodec
│ │ │ ├── SoftwareCodec
│ │ │ └── VideoToolbox
│ │ └── GraphicsDevice
│ │ ├── D3D11
│ │ ├── D3D12
│ │ ├── Metal
│ │ ├── OpenGL
│ │ └── Vulkan
│ └── WebRTCPluginTest
├── Runtime
│ ├── Plugins
│ │ └── x86_64
│ └── Srcipts
├── Samples~
│ └── Example
├── Tests
│ ├── Editor
│ └── Runtime
└── WebRTC~
├── Assets
├── Packages
│ └── com.unity.webrtc
│ ├── Editor
│ ├── Runtime
│ └── Tests
└── ProjectSettings
The package contains the following 3 samples.
Scene | Details |
---|---|
PeerConnection | A scene for checking the process of connecting to a peer |
DataChannel | A scene for sending and receiving text |
MediaStream | A scene for sending and receiving video/audio |
Version | libwebrtc version | Focus |
---|---|---|
1.0 |
M72 | - First release |
1.1 |
M72 | - IL2CPP Support - Linux Support - Add software encoder |
2.0 |
M79 | - Multi camera - DirectX12 (DXR) Support |
2.1 |
M83 | - Profiler tool - Bitrate control |