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
Please read this if you have an interest to customize native code in this project.
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
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 - MacOS HW encoder support |
Oct 2020 |
2.3 |
M85 | - iOS platform suppport | Dec 2020 |