Skip to content

midopooler/com.unity.webrtc

 
 

Repository files navigation

WebRTC for Unity

unity 2019.3

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

To install the package, download WebRTC for Unity from the package manager. See the documentation 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 ✅ (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

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
│   └── 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 - 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

Licenses

About

WebRTC package for Unity

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 56.9%
  • C++ 26.5%
  • C# 13.2%
  • Objective-C++ 1.5%
  • CMake 0.9%
  • Shell 0.4%
  • Other 0.6%