WebRTC for Unity
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.
Documentation
Guide
Installation
Please see Install package.
Requirements
Please see Requeirements.
Limitations
This package uses GPU hardware acceleration for video encoding, so it only runs on graphics cards that support NVIDIA VIDEO CODEC SDK.
Package Structure
.
├── 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
│ └── Scripts
├── Samples~
│ └── Example
├── Tests
│ ├── Editor
│ └── Runtime
└── WebRTC~
├── Assets
├── Packages
│ └── com.unity.webrtc
│ ├── Editor
│ ├── Runtime
│ └── Tests
└── ProjectSettings
Samples
The package contains the following 4 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 |
Stats | A scene for checking the operation of statistics features |
Roadmap
Version | libwebrtc version | Focus | When |
---|---|---|---|
1.0 |
M72 | - First release | Sep 2019 |
1.1 |
M72 | - IL2CPP Support - Linux platform Support - Add software encoder |
Feb 2020 |
2.0 |
M79 | - Multi camera - DirectX12 (DXR) Support |
Apr 2020 |
2.1 |
M84 | - Profiler tool - Bitrate control |
Aug 2020 |
2.2 |
M85 | - Video decoder (VP8, VP9 only) - Vulkan HW encoder support |
Oct 2020 |
2.3 |
M85 | - iOS platform suppport | Dec 2020 |