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.
This package provides the main features below.
- Video streaming
- Audio streaming
- Remote control
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.
This package enables streaming sounds generated on Unity. And it can cast to multi-browsers simultaneously.
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.
This version of Render Streaming is compatible with the following versions of the Unity Editor
- Unity 2019.4
Note
Because this template depends on HDRP 7.3
, it does not work correctly older versions than Unity 2019.4
.
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 | 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.
Note
Supporting OpenGL API on MacOS is not planned.
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.
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.
Note
This is an experimental feature.
Unity Render Streaming is also supported natively by Furioos platform https://www.furioos.com/ . That means that you can easily build a RenderStreaming application, upload it on Furioos and enjoy all the features of RenderStreaming without worrying about the deployment and scalability issues of your project. To do so, the requirement is to select "FurioosSignaling" in the "Signaling server type" parameter of the RenderStreaming script. This allow your application to connect to Furioos services when running on the managed virtual machines. Then just build a standalone Windows version of your application, zip it and upload it on your account at https://portal.furioos.com/ .
Currently, there are three samples:
Importing this sample will automatically install and setup our HDRP sample assets along with the HDRP (com.unity.render-pipelines.high-definition) package.
Importing this sample will automatically install and setup our URP sample assets along with the URP (com.unity.render-pipelines.universal) package.
This is the simplest sample with legacy pipeline.