/UnityRenderStreaming

Streaming server for Unity

Primary LanguageC#OtherNOASSERTION

Unity Render Streaming

unity 2019.3

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

Branch Status
release/1.2.0 Stable
release/2.0.0 In development

Operating Environment

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

Supported Browsers

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

License

Package Structure

<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

Roadmap

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

FAQ

Read this page and Unity Forum

Contributors