Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
name: Bug report
description: Create a report to help us improve.
title: "[BUG]: "
labels:
labels:
- bug
assignees:
assignees:
- karasusan
body:
- type: markdown
Expand All @@ -13,7 +13,7 @@ body:
* For questions, ask in [Unity Forum](https://forum.unity.com/forums/unity-render-streaming.413).
* Before you file an issue read the [Contributing guide](https://github.com/Unity-Technologies/com.unity.webrtc/blob/develop/CONTRIBUTING.md).
* Check to make sure someone hasn't already opened a similar [issue](https://github.com/Unity-Technologies/com.unity.webrtc/issues).

Please note the following points.
* We try to reply as soon as possible but we will get in touch with you within **5 working days**.
* If you solved the issue yourself, please **post the comment and close your issue**.
Expand Down Expand Up @@ -43,7 +43,7 @@ body:
Please describe your environment when the issue occurred.
Example:
- **OS**: Windows10
- **Unity version**: Unity 2021.2
- **Unity version**: Unity 2021.3
- **Graphics API**: DirectX11
- **Browser**: Google Chrome Version 97
value: |
Expand Down Expand Up @@ -75,7 +75,7 @@ body:
description: A concise description of what you're experiencing.
validations:
required: false

- type: textarea
id: expected-behavior
attributes:
Expand All @@ -94,4 +94,4 @@ body:
placeholder: |
Drag and drop image or text files here.
validations:
required: false
required: false
4 changes: 2 additions & 2 deletions LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Unity Render Streaming copyright © 2020 Unity Technologies ApS
Unity Render Streaming copyright © 2022 Unity Technologies ApS

Licensed under the Unity Companion License for Unity-dependent projects--see [Unity Companion License](http://www.unity3d.com/legal/licenses/Unity_Companion_License).
Licensed under the Unity Companion License for Unity-dependent projects--see [Unity Companion License](http://www.unity3d.com/legal/licenses/Unity_Companion_License).

Unless expressly provided otherwise, the Software under this license is made available strictly on an “AS IS” BASIS WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. Please review the license for details on these and other terms and conditions.
19 changes: 11 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
# Unity Render Streaming

<img src="https://img.shields.io/badge/unity-2019.4-green.svg?style=flat-square" alt="unity 2019.4"> <img src="https://img.shields.io/badge/unity-2020.3-green.svg?style=flat-square" alt="unity 2020.3">
<img src="https://img.shields.io/badge/unity-2020.3-green.svg?style=flat-square" alt="unity 2020.3">
<img src="https://img.shields.io/badge/unity-2021.3-green.svg?style=flat-square" alt="unity 2021.3">
<img src="https://img.shields.io/badge/unity-2022.1-green.svg?style=flat-square" alt="unity 2022.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](https://webrtc.org/), and developers can even use the [WebRTC package](https://docs.unity3d.com/Packages/com.unity.webrtc@latest) to create their own unique solutions.
**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](https://webrtc.org/), and developers can even use the [WebRTC package](https://docs.unity3d.com/Packages/com.unity.webrtc@latest) to create their own unique solutions.

<img src="com.unity.renderstreaming/Documentation~/images/browser_hdrpscene.png" width=500 align=center>

Expand Down Expand Up @@ -31,7 +33,7 @@ Please see [Furioos Tutorial](com.unity.renderstreaming/Documentation~/deploy-to
```
<root>
├── BuildScripts~ // Build scripts for CI system
├── com.unity.renderstreaming // Unity Render Streaming Package
├── com.unity.renderstreaming // Unity Render Streaming Package
├── com.unity.template.renderstreaming-hd // HDRP template
├── com.unity.template.renderstreaming-rtx // HDRP Raytracing template
├── RenderStreaming~ // Sample project for package
Expand All @@ -44,19 +46,20 @@ Please see [Furioos Tutorial](com.unity.renderstreaming/Documentation~/deploy-to
| ------- | ----- | ----- |
| `1.0.0-preview` | - First release | Aug 2019 |
| `1.1.0-preview` | - Upgrade HDRP version 5.16 | Sep 2019 |
| `1.2.0-preview` | - Unity 2019.3 support | Feb 2020 |
| `1.2.0-preview` | - *Unity 2019.3* support | Feb 2020 |
| `2.0.0-preview` | - Multi camera <br/>- DirectX12 (DXR) Support | Apr 2020 |
| `2.1.0-preview` | - Unity 2019.4 support <br/>- Add bitrate control sample | Aug 2020 |
| `2.1.0-preview` | - *Unity 2019.4* support <br/>- Add bitrate control sample | Aug 2020 |
| `2.2.0-preview` | - Add video receiver <br/>- HDRP/URP on Linux support | Nov 2020 |
| `3.0.0-preview` | - iOS platform support <br/>- AR Foundation sample | Mar 2021 |
| `3.1.0-exp.1` | - Android platform support | Jun 2021 |
| `3.1.0-exp.2` | - Audio Renderer support <br/> - Multiplay sample <br/> - M1 Mac support | Dec 2021 |
| `3.1.0-exp.3` | - Fix bugs | Feb 2022 |
| `3.1.0-exp.4` | | |
| `3.1.0-exp.4` | - Streaming settings API <br/> - *Unity 2022.1* support <br/> - Remove *Unity 2019.4* from support list | Sep 2022 |
| `3.1.0-exp.5` | | Nov 2022 |

## FAQ

Read [this page](com.unity.renderstreaming/Documentation~/faq.md) and [Unity Forum](https://forum.unity.com/forums/unity-render-streaming.413/)
Please read [this page](com.unity.renderstreaming/Documentation~/faq.md) and [Unity Forum](https://forum.unity.com/forums/unity-render-streaming.413/).

## Contributors

Expand Down
10 changes: 5 additions & 5 deletions com.unity.renderstreaming/Documentation~/TableOfContents.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@
* [About Signaling Type](signaling-type.md)
* [Customize Web Application](customize-webapp.md)
* [Components Settings](components.md)
* [Streaming Management](streaming-management.md)
* [Video Streaming](video-streaming.md)
* [Audio Streaming](audio-streaming.md)
* [Data Streaming](data-streaming.md)
* [Streaming Management Component](streaming-management.md)
* [Video Streaming Component](video-streaming.md)
* [Audio Streaming Component](audio-streaming.md)
* [Data Streaming Component](data-streaming.md)
* [Using with Input System](use-inputsystem.md)
* [Deploy to Furioos](deploy-to-furioos.md)
* [Samples](samples.md)
Expand All @@ -27,4 +27,4 @@
* [Web Browser Input](sample-browserinput.md)
* [Multiplay](sample-multiplay.md)
* [Project Template](template.md)
* [FAQ](faq.md)
* [FAQ](faq.md)
40 changes: 18 additions & 22 deletions com.unity.renderstreaming/Documentation~/audio-streaming.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
# Audio Streaming
# Audio Streaming Component

[`AudioStreamSender`](../api/Unity.RenderStreaming.AudioStreamSender.html) class and [`AudioStreamReceiver`]((../api/Unity.RenderStreaming.AudioStreamReceiver.html)) class are the base classes for sending and receiving audio. And various components are implemented using inheritance relationships with these class. Components are provided for the sender and receiver.
[`AudioStreamSender`](../api/Unity.RenderStreaming.AudioStreamSender.html) class and [`AudioStreamReceiver`]((../api/Unity.RenderStreaming.AudioStreamReceiver.html)) class are the base classes for sending and receiving audio. Components are provided for the sender and receiver.

> [!NOTE]
> There is currently a limitation in the audio codec selection. Currently, only **Opus** is used for the audio codec.

## [`AudioStreamSender`](../api/Unity.RenderStreaming.AudioStreamSender.html) component
## [`AudioStreamSender`](../api/Unity.RenderStreaming.AudioStreamSender.html) component reference

This component streams the audio rendering results from [`AudioListener`](https://docs.unity3d.com/ScriptReference/AudioListener.html) component or [`AudioSource`](https://docs.unity3d.com/ScriptReference/AudioSource.html) component.

Expand All @@ -15,26 +12,25 @@ This component streams the audio rendering results from [`AudioListener`](https:

| Parameter | Description | Default |
| --------- | ----------- | ------- |
| **Audio Source** | [`AudioSource`](https://docs.unity3d.com/ScriptReference/AudioSource.html) instance for sending audio | None |

## [`MicrophoneStreamSender`](../api/Unity.RenderStreaming.MicrophoneStreamSender.html) component
| **Audio Source Type** | Choose the type of source for your audio streaming. <br/> - *Audio Listener* <br/> - *Audio Source* <br/> - *Microphone* | *Audio Listener* |
| *Audio Listener* | [`Audio Listener`](https://docs.unity3d.com/ScriptReference/AudioSource.html) instance for sending audio | |
| *Audio Source* | [`Audio Source`](https://docs.unity3d.com/ScriptReference/AudioSource.html) instance for sending audio | |
| *Microphone Device Index* | The index of the video input device to be used. See [Microphone.devices](https://docs.unity3d.com/ScriptReference/Microphone-devices.html). | 0 |
| *Auto Request User Authorization* | Whether request permission to use microphone. You don't need to enable it if you call [Application.RequestUserAuthorization](https://docs.unity3d.com/ScriptReference/Application.RequestUserAuthorization.html) yourself. | Enabled |
| **Audio Codec** | *Default* option means trying to use all available codecs for negotiating other peers. | Default |
Comment thread
karasusan marked this conversation as resolved.
| **Bitrate (kbits/sec)** | The bitrate of the audio streaming. | |
| *Min* | The minimum value of the bitrate. | 0 |
| *Max* | The maximum value of the bitrate. | 1000 |

## [`AudioStreamReceiver`](../api/Unity.RenderStreaming.AudioStreamReceiver.html) component reference

This component streams the audio rendering results from [`Microphone`](https://docs.unity3d.com/ScriptReference/Microphone.html).
The components receive audio track stream and rendering to [`AudioSource`](https://docs.unity3d.com/ScriptReference/AudioSource.html).

![MicrophoneSender inspector](images/microphonesender_inspector.png)
![AudioStreamReceiver inspector](images/audiostreamreceiver_inspector.png)

### Properties

| Parameter | Description | Default |
| --------- | ----------- | ------- |
| **Audio Source** | [`AudioSource`](https://docs.unity3d.com/ScriptReference/AudioSource.html) instance for sending audio | None |
| **Device Index** | An index of the list of available microphone devices | 0 |

An index of the list of available microphone devices


## [`AudioStreamReceiver`](../api/Unity.RenderStreaming.AudioStreamReceiver.html) component

The components receive audio track stream and rendering to [`AudioSource`](https://docs.unity3d.com/ScriptReference/AudioSource.html).

![AudioStreamReceiver inspector](images/audiostreamreceiver_inspector.png)
| **Target Audio Source** | [`AudioSource`](https://docs.unity3d.com/ScriptReference/AudioSource.html) instance for sending audio | None |
| **Audio Codec** | *Default* option means trying to use all available codecs for negotiating other peers. | Default |
8 changes: 4 additions & 4 deletions com.unity.renderstreaming/Documentation~/components.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

This package provides some useful components to make the streaming feature to the application made with Unity.

- [Streaming Management](streaming-management.md)
- [Video Streaming](video-streaming.md)
- [Audio Streaming](audio-streaming.md)
- [Data Streaming](data-streaming.md)
- [Streaming Management Component](streaming-management.md)
- [Video Streaming Component](video-streaming.md)
- [Audio Streaming Component](audio-streaming.md)
- [Data Streaming Component](data-streaming.md)
14 changes: 7 additions & 7 deletions com.unity.renderstreaming/Documentation~/create-scene.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ This tutorial explains how to edit an empty scene in Unity Editor and display th

## Setting component

If Unity version is 2020 or later, Create a new empty scene. Select **File > New Scene** from the menu to open the dialog and select **Basic (Built-in)**.
If Unity version is 2020 or later, Create a new empty scene. Select **File > New Scene** from the menu to open the dialog and select **Basic (Built-in)**.

> [!NOTE]
> This dialog is not opened if you are using Unity 2019.
Expand All @@ -30,13 +30,13 @@ Assign the **Broadcast** component to the `Handler` property of the **Render Str

![Assign Broadcast component to handler](images/assign_broadcast_to_handler.png)

Add a **Camera Stream Sender** component to the **Main Camera** object. This component refers to the Camera and delivers it as a stream to other peers.
Add a [**Video Stream Sender**](video-streaming.html#videostreamsenderapiunityrenderstreamingvideostreamsenderhtml-component) component to the **Main Camera** object. This component refers to the Camera and delivers it as a stream to other peers.

![Add CameraStreamSender component](images/add_camerastreamsender_component.png)
![Add VideoStreamSender component](images/add_videostreamsender_component.png)

Assign the **Camera Stream Sender** component to the **Broadcast** component property.
Assign the [**Video Stream Sender**](video-streaming.html#videostreamsenderapiunityrenderstreamingvideostreamsenderhtml-component) component to the **Broadcast** component property.

![Assign CameraStreamSender component to streams](images/assign_camerastreamsender_to_streams.png)
![Assign VideoStreamSender component to streams](images/assign_videostreamsender_to_streams.png)

### Check on browser

Expand All @@ -46,6 +46,6 @@ Open the **Receiver Sample** page, and you should see the video from the Unity c

## Next Step

You can distribute video from Unity to the browser. It is also possible to stream audio. There are several types of components that can be streamed. Check the [component page](components.md) for details.
You can distribute video from Unity to the browser. It's also possible to stream audio. There are several types of components that can be streamed. Check the [component page](components.md) for details.

Next, let's try to control the camera from the browser. Please go to [the next page](control-camera.md).
Next, please try to control the camera from the browser. Please go to [the next page](control-camera.md).
12 changes: 8 additions & 4 deletions com.unity.renderstreaming/Documentation~/data-streaming.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Data Streaming
# Data Streaming Component

Data streaming is using [`RTCDataChannel`](https://docs.unity3d.com/Packages/com.unity.webrtc@2.4/manual/datachannel.html) of the WebRTC package internally.

Using the data streaming feature, we provide a component to send messages of [Input System](https://docs.unity3d.com/Packages/com.unity.inputsystem@latest). For more details, please check the section on [Using with Input System](use-inputsystem.md).

## [`InputSender`](../api/Unity.RenderStreaming.InputSender.html) component
## [`InputSender`](../api/Unity.RenderStreaming.InputSender.html) component reference

This component sends input events fired from all input devices connected machine.

Expand All @@ -17,7 +17,7 @@ This component sends input events fired from all input devices connected machine
| **Local** | Channel is local or remote | `False` |
| **Label** | Channel label | Empty |

## [`InputReceiver`](../api/Unity.RenderStreaming.InputReceiver.html) component
## [`InputReceiver`](../api/Unity.RenderStreaming.InputReceiver.html) component reference

This component receives input events from Unity.

Expand All @@ -31,4 +31,8 @@ This component receives input events from Unity.
| **Label** | Channel label. | Empty |
| **Actions** | The set of [**Input Actions**](https://docs.unity3d.com/Packages/com.unity.inputsystem@1.3/manual/Actions.html) associated with the player. To receive input, each player must have an associated set of Actions. See documentation on Actions for details. | `None` |
| *Default Map* | Which Action Map in `Actions` to enable by default. If set to `None`, then the player starts with no Actions being enabled. | `None` |
| **Events** | Uses a separate UnityEvent for each individual type of message. | Empty |
| **Events** | Uses a separate UnityEvent for each individual type of message. | Empty |




Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
10 changes: 5 additions & 5 deletions com.unity.renderstreaming/Documentation~/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ This package provides the main features below.

### 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.
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.

![feature-multicamera](images/feature_multicamera.png)

Expand All @@ -29,9 +29,9 @@ It is possible to send input messages to Unity from the browser, and sending inp

This version of Render Streaming is compatible with the following versions of the Unity Editor

- **Unity 2019.4**
- **Unity 2020.3**
- **Unity 2021.2**
- **Unity 2021.3**
- **Unity 2022.1**

### Platform

Expand All @@ -41,7 +41,7 @@ This version of Render Streaming is compatible with the following versions of th
- **iOS**
- **Android** (**ARMv7** is not supported)

### Web Browsers support
### Browser support

Unity Render Streaming supports almost all browsers that can use WebRTC.

Expand Down Expand Up @@ -71,4 +71,4 @@ Please check [this page](template.md).
**Unity Render Streaming** is also supported natively by **Furioos** platform https://www.furioos.com/ .
That means that you can easily build a Unity application, upload it on **Furioos** and enjoy all the features of **Unity Render Streaming** without worrying about the deployment and scalability issues of your project.

Please see [Furioos Tutorial](deploy-to-furioos.md) section to find out how it works.
Please see [Furioos Tutorial](deploy-to-furioos.md) section to find out how it works.
27 changes: 1 addition & 26 deletions com.unity.renderstreaming/Documentation~/installation.md
Original file line number Diff line number Diff line change
@@ -1,30 +1,5 @@
# Installing The Package

> [!NOTE]
> In Unity **2020.3** and **2019.4**, there are differences about how to install Unity Render Streaming package so please pay attention to the Unity version you are using and follow the instructions below.

## Case of Unity 2019.4

Select **Window > Package Manager** in the menu bar.

![Install Package Manager from menu bar](images/install_select_packman_menu_unity2019.png)

Check Package Manager window, Click `Advanced` button and enable `Show preview packages`.

![Select show preview packages on advanced options](images/install_select_show_preview_packages.png)

Input `renderstreaming` to the search box at the top of the Package Manager window.

![Search renderstreaming package](images/install_search_renderstreaming_package.png)

Click `Install` button at the bottom left of the window, and will start install the package.

If an input system dialog box appears, click `Yes`

![Input system backend](images/input_system_backend.png)

## Case of Unity 2020.3

Select **Window > Package Manager** in the menu bar.

![Install Package Manager from menu bar](images/install_select_packman_menu_unity2020.png)
Expand All @@ -49,4 +24,4 @@ If an input system dialog box appears, click `Yes`

## Next Step

After installing the package in the Unity Editor, you can launch the web application for signaling. Please see the next page [Launching The Web Application](launch-webapp.md).
After installing the package in the Unity Editor, you can launch the web application for signaling. Please see the next page [Launching The Web Application](launch-webapp.md).
Loading