Unity Render Streaming is a solution that provides Unity's high quality rendering abilities via browser. It's designed to meet the needs of tasks like viewing car configurators or architectural models on mobile devices.
This solution's streaming technology takes advantage of WebRTC, and developers can even use the WebRTC package to create their own unique solutions.
This repository manages 2 packages. Details can be found in the README.md
for each package.
Branch | Status |
---|---|
release/1.2.0 | Stable |
release/2.0.0 | In development |
This solution is compatible with Unity 2019.3
.
Unity 2018.3
relies on the New Input System, so it is incompatible with this solution.
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 | ✅ |
Browser support depends on the status of each browser's WebRTC support.
- Desktop Chrome
- Desktop Firefox
- Desktop Safari
- Desktop Microsoft Edge (Chrominium-based)
- Android Chrome
- iOS Safari
-
com.unity.renderstreaming
- LICENSE.md -
com.unity.template.renderstreaming
- LICENSE.md
<root>
├── Assets
│ ├── Plugins
│ ├── Scenes
│ ├── Scripts
│ └── Tests
├── EmptyProjectForTest~
├── Packages
│ ├── com.unity.renderstreaming
│ └── com.unity.template.renderstreaming
├── ProjectSettings
├── Plugin
│ ├── WebRTCPlugin
│ └── unity
├── RenderStreamingSampleSrc~
│ └── RS_HDRPSampleSrc_1.x
└── WebApp
├── public
├── src
└── test
Version | libwebrtc version | Focus |
---|---|---|
1.0 |
M72 | - First release |
2.0 |
M80 | - Multi camera - DirectX12 (DXR) Support |
2.1 |
- AMD graphics hw encoder - UWP platform Support |
Read this page and Unity Forum