# com.unity.webrtc
**Repository Path**: chingcho/com.unity.webrtc
## Basic Information
- **Project Name**: com.unity.webrtc
- **Description**: WebRTC package for Unity
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: chore/cmake
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-06-04
- **Last Updated**: 2021-08-09
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# WebRTC for Unity
**WebRTC for Unity** is a package that allows [WebRTC](https://webrtc.org) to be used in Unity.
If you are interested in the streaming solution with WebRTC, you can check [Unity Render Streaming](https://github.com/Unity-Technologies/UnityRenderStreaming).
## Documentation
- [English](https://docs.unity3d.com/Packages/com.unity.webrtc@1.1/manual/index.html)
- [Japanese](https://docs.unity3d.com/Packages/com.unity.webrtc@1.1/manual/jp/index.html)
### Guide
- [Build plugin](Plugin~/README.md)
## Installation
To install the package, download WebRTC for Unity from the package manager. See the [documentation](https://docs.unity3d.com/Packages/com.unity.package-manager-ui@latest/index.html) for details on how to use the package manager.
## Requirements
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 | :white_check_mark: (Require [NVIDIA Graphics card](https://developer.nvidia.com/video-encode-decode-gpu-support-matrix)) | :white_check_mark: |
| Windows x64 | DirectX12 | | |
| Windows x64 | OpenGL | | |
| Windows x64 | Vulkan | | |
| Linux x64 | OpenGL | :white_check_mark: (Require [NVIDIA Graphics card](https://developer.nvidia.com/video-encode-decode-gpu-support-matrix)) | |
| Linux x64 | Vulkan | | |
| MacOS | OpenGL | | |
| MacOS | Metal | | :white_check_mark: |
On Linux, `libc++1` `libc++abi1` packages should be installed.
```
sudo apt install -y libc++1 libc++abi1
```
### Limitations
This package uses GPU hardware acceleration for video encoding, so it only runs on graphics cards that support [NVIDIA VIDEO CODEC SDK](https://developer.nvidia.com/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
│ └── Srcipts
├── Samples~
│ └── Example
├── Tests
│ ├── Editor
│ └── Runtime
└── WebRTC~
├── Assets
├── Packages
│ └── com.unity.webrtc
│ ├── Editor
│ ├── Runtime
│ └── Tests
└── ProjectSettings
```
### Samples
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 |
## Roadmap
| Version | libwebrtc version | Focus |
| ------- | ------------------------------------------------------------------------------ | ----------------------------------------------------------------- |
| `1.0` | [M72](https://groups.google.com/d/msg/discuss-webrtc/3h4y0fimHwg/j6G4dTVvCAAJ) | - First release |
| `1.1` | [M72](https://groups.google.com/d/msg/discuss-webrtc/3h4y0fimHwg/j6G4dTVvCAAJ) | - IL2CPP Support
- Linux Support
- Add software encoder |
| `2.0` | [M79](https://groups.google.com/d/msg/discuss-webrtc/Ozvbd0p7Q1Y/M4WN2cRKCwAJ) | - Multi camera
- DirectX12 (DXR) Support |
| `2.1` | [M83](https://groups.google.com/d/msg/discuss-webrtc/EieMDYtQ9sg/7po9fl8_AgAJ) | - Profiler tool
- Bitrate control |
## Licenses
- [LICENSE.md](LICENSE.md)
- [Third Party Notices.md](Third%20Party%20Notices.md)
- [CONTRIBUTING.md](CONTRIBUTING.md)