/UnityRenderStreaming

Streaming server for Unity

Primary LanguageC#

Unity Render Streaming

unity 2019.1

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.

Operating Environment

This solution is compatible with Unity 2019.1. Currently it only runs in a Windows 64-bit environment. Unity 2018.3 relies on the New Input System, so it is incompatible with this solution.

Supported Browsers

Browser support depends on the status of each browser's WebRTC support.

  • Desktop Chrome

  • Desktop Firefox

  • Desktop Safari

  • Android Chrome

  • iOS Safari

License

Graphics Cards

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.

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 - Multi camera
- DirectX12 (DXR) Support
- Simulcast
2.1 - Linux support
- Add HW encoder

FAQ

Read this page.

Sample Sources

Contributors