Unity Render Streaming
This package contains public APIs and project samples that are built on top of our Unity Render Streaming. We can develop a peer-to-peer streaming solution quickly by using this package.
Main features
This package provides the main features below.
- Video streaming
- Audio streaming
- Remote control
Video streaming
We can broadcast video rendered on Unity to browsers via network. For example, It can show the video rendered with HDRP on the browser on the iPad. In addition, broadcasting from multiple cameras is supported.
Audio streaming
This package enables streaming sounds generated on Unity. And it can cast to multi-browsers simultaneously.
Remote control
It is possible to send input messages to Unity from the browser, and sending inputs from multiple browsers is supported. Mouse, keyboard, touch, and gamepad are supported as input devices on the browser. For more information, please see the Browser input process page.
Requirements
This version of Render Streaming is compatible with the following versions of the Unity Editor
- Unity 2019.3
Note
Because this template depends on HDRP 7.3
, it does not work correctly older versions than Unity 2019.3
.
Platform | Graphics API | Hardware Encoder | Software Encoder |
---|---|---|---|
Windows x64 | DirectX11 | ✅ (Require NVIDIA Graphics card) | ✅ |
Windows x64 | DirectX12 | ✅ (Require NVIDIA Graphics card) | ✅ |
Windows x64 | OpenGL | ||
Windows x64 | Vulkan | ||
Linux x64 | OpenGL | ✅ (Require NVIDIA Graphics card) | |
Linux x64 | Vulkan | ||
MacOS | OpenGL | ||
MacOS | Metal | ✅ |
Warning
In the current version, The combination of Linux and HDRP is not supported. Need to selectOpenGL
in "Graphics API" and use Legacy
rendering pipeline.
Hardware encoder
This solution is optimised for NVIDIA graphics cards. Using a recommended graphics card will allow streaming with lower latency. See NVIDIA's NVIDIA VIDEO CODEC SDK webpage for a list of recommended graphics cards.
Browsers
Browser | Windows | Mac | iOS | Android |
---|---|---|---|---|
Google Chrome | ✅ | ✅ | ✅ | |
Safari | ✅ | ✅ | ||
Firefox | ✅ | |||
Microsoft edge (Chromium based) | ✅ |
Note
It may not work properly on some browsers caused by depending on the status of support about WebRTC.
Samples
Currently, there are two samples:
HDRP sample
Importing this sample will automatically install and setup our HDRP sample assets along with the HDRP (com.unity.render-pipelines.high-definition) package.
URP sample
Importing this sample will automatically install and setup our URP sample assets along with the URP (com.unity.render-pipelines.universal) package.