diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml
index 73525e962..9065890cd 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.yml
+++ b/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -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
@@ -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**.
@@ -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: |
@@ -75,7 +75,7 @@ body:
description: A concise description of what you're experiencing.
validations:
required: false
-
+
- type: textarea
id: expected-behavior
attributes:
@@ -94,4 +94,4 @@ body:
placeholder: |
Drag and drop image or text files here.
validations:
- required: false
\ No newline at end of file
+ required: false
diff --git a/LICENSE.md b/LICENSE.md
index ae56289be..516c989d7 100644
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -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.
diff --git a/README.md b/README.md
index 89e3a467e..f7059ab70 100644
--- a/README.md
+++ b/README.md
@@ -1,9 +1,11 @@
# Unity Render Streaming
-
+
+
+
-**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.
@@ -31,7 +33,7 @@ Please see [Furioos Tutorial](com.unity.renderstreaming/Documentation~/deploy-to
```
├── 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
@@ -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
- DirectX12 (DXR) Support | Apr 2020 |
-| `2.1.0-preview` | - Unity 2019.4 support
- Add bitrate control sample | Aug 2020 |
+| `2.1.0-preview` | - *Unity 2019.4* support
- Add bitrate control sample | Aug 2020 |
| `2.2.0-preview` | - Add video receiver
- HDRP/URP on Linux support | Nov 2020 |
| `3.0.0-preview` | - iOS platform support
- AR Foundation sample | Mar 2021 |
| `3.1.0-exp.1` | - Android platform support | Jun 2021 |
| `3.1.0-exp.2` | - Audio Renderer support
- Multiplay sample
- 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
- *Unity 2022.1* support
- 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
diff --git a/com.unity.renderstreaming/Documentation~/TableOfContents.md b/com.unity.renderstreaming/Documentation~/TableOfContents.md
index 01c0d8c0a..a0964dad0 100644
--- a/com.unity.renderstreaming/Documentation~/TableOfContents.md
+++ b/com.unity.renderstreaming/Documentation~/TableOfContents.md
@@ -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)
@@ -27,4 +27,4 @@
* [Web Browser Input](sample-browserinput.md)
* [Multiplay](sample-multiplay.md)
* [Project Template](template.md)
-* [FAQ](faq.md)
\ No newline at end of file
+* [FAQ](faq.md)
diff --git a/com.unity.renderstreaming/Documentation~/audio-streaming.md b/com.unity.renderstreaming/Documentation~/audio-streaming.md
index c4f5d8a46..4f44dd657 100644
--- a/com.unity.renderstreaming/Documentation~/audio-streaming.md
+++ b/com.unity.renderstreaming/Documentation~/audio-streaming.md
@@ -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.
@@ -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.
- *Audio Listener*
- *Audio Source*
- *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 |
+| **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).
-
+
### 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).
-
-
\ No newline at end of file
+| **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 |
diff --git a/com.unity.renderstreaming/Documentation~/components.md b/com.unity.renderstreaming/Documentation~/components.md
index 64b453504..7b40ed417 100644
--- a/com.unity.renderstreaming/Documentation~/components.md
+++ b/com.unity.renderstreaming/Documentation~/components.md
@@ -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)
\ No newline at end of file
+- [Streaming Management Component](streaming-management.md)
+- [Video Streaming Component](video-streaming.md)
+- [Audio Streaming Component](audio-streaming.md)
+- [Data Streaming Component](data-streaming.md)
diff --git a/com.unity.renderstreaming/Documentation~/create-scene.md b/com.unity.renderstreaming/Documentation~/create-scene.md
index 4461d11a2..422972dc9 100644
--- a/com.unity.renderstreaming/Documentation~/create-scene.md
+++ b/com.unity.renderstreaming/Documentation~/create-scene.md
@@ -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.
@@ -30,13 +30,13 @@ Assign the **Broadcast** component to the `Handler` property of the **Render Str

-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.
-
+
-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.
-
+
### Check on browser
@@ -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).
\ No newline at end of file
+Next, please try to control the camera from the browser. Please go to [the next page](control-camera.md).
diff --git a/com.unity.renderstreaming/Documentation~/data-streaming.md b/com.unity.renderstreaming/Documentation~/data-streaming.md
index d2e0471a0..331f20a8b 100644
--- a/com.unity.renderstreaming/Documentation~/data-streaming.md
+++ b/com.unity.renderstreaming/Documentation~/data-streaming.md
@@ -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.
@@ -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.
@@ -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 |
\ No newline at end of file
+| **Events** | Uses a separate UnityEvent for each individual type of message. | Empty |
+
+
+
+
diff --git a/com.unity.renderstreaming/Documentation~/images/add_camerastreamsender_component.png b/com.unity.renderstreaming/Documentation~/images/add_camerastreamsender_component.png
deleted file mode 100644
index 21dbfafcc..000000000
Binary files a/com.unity.renderstreaming/Documentation~/images/add_camerastreamsender_component.png and /dev/null differ
diff --git a/com.unity.renderstreaming/Documentation~/images/add_videostreamsender_component.png b/com.unity.renderstreaming/Documentation~/images/add_videostreamsender_component.png
new file mode 100644
index 000000000..53725d965
Binary files /dev/null and b/com.unity.renderstreaming/Documentation~/images/add_videostreamsender_component.png differ
diff --git a/com.unity.renderstreaming/Documentation~/images/assign_camerastreamsender_to_streams.png b/com.unity.renderstreaming/Documentation~/images/assign_camerastreamsender_to_streams.png
deleted file mode 100644
index 5e36cc758..000000000
Binary files a/com.unity.renderstreaming/Documentation~/images/assign_camerastreamsender_to_streams.png and /dev/null differ
diff --git a/com.unity.renderstreaming/Documentation~/images/assign_videostreamsender_to_streams.png b/com.unity.renderstreaming/Documentation~/images/assign_videostreamsender_to_streams.png
new file mode 100644
index 000000000..e4a758084
Binary files /dev/null and b/com.unity.renderstreaming/Documentation~/images/assign_videostreamsender_to_streams.png differ
diff --git a/com.unity.renderstreaming/Documentation~/images/audiostreamreceiver_inspector.png b/com.unity.renderstreaming/Documentation~/images/audiostreamreceiver_inspector.png
index 29d6a9738..1b28df366 100644
Binary files a/com.unity.renderstreaming/Documentation~/images/audiostreamreceiver_inspector.png and b/com.unity.renderstreaming/Documentation~/images/audiostreamreceiver_inspector.png differ
diff --git a/com.unity.renderstreaming/Documentation~/images/audiostreamsender_inspector.png b/com.unity.renderstreaming/Documentation~/images/audiostreamsender_inspector.png
index 6b28237b0..bcdcfb432 100644
Binary files a/com.unity.renderstreaming/Documentation~/images/audiostreamsender_inspector.png and b/com.unity.renderstreaming/Documentation~/images/audiostreamsender_inspector.png differ
diff --git a/com.unity.renderstreaming/Documentation~/images/sample_menu_scene.png b/com.unity.renderstreaming/Documentation~/images/sample_menu_scene.png
index 5fa84d038..357bd5f25 100644
Binary files a/com.unity.renderstreaming/Documentation~/images/sample_menu_scene.png and b/com.unity.renderstreaming/Documentation~/images/sample_menu_scene.png differ
diff --git a/com.unity.renderstreaming/Documentation~/images/videostreamreceiver_inspector.png b/com.unity.renderstreaming/Documentation~/images/videostreamreceiver_inspector.png
index d755fc7f7..3d9f70afb 100644
Binary files a/com.unity.renderstreaming/Documentation~/images/videostreamreceiver_inspector.png and b/com.unity.renderstreaming/Documentation~/images/videostreamreceiver_inspector.png differ
diff --git a/com.unity.renderstreaming/Documentation~/images/videostreamsender_inspector.png b/com.unity.renderstreaming/Documentation~/images/videostreamsender_inspector.png
index 3f7a45ecf..a79bab669 100644
Binary files a/com.unity.renderstreaming/Documentation~/images/videostreamsender_inspector.png and b/com.unity.renderstreaming/Documentation~/images/videostreamsender_inspector.png differ
diff --git a/com.unity.renderstreaming/Documentation~/index.md b/com.unity.renderstreaming/Documentation~/index.md
index 15df4c696..a97138aec 100644
--- a/com.unity.renderstreaming/Documentation~/index.md
+++ b/com.unity.renderstreaming/Documentation~/index.md
@@ -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.

@@ -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
@@ -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.
@@ -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.
\ No newline at end of file
+Please see [Furioos Tutorial](deploy-to-furioos.md) section to find out how it works.
diff --git a/com.unity.renderstreaming/Documentation~/installation.md b/com.unity.renderstreaming/Documentation~/installation.md
index 7878252f4..a00df3ad0 100644
--- a/com.unity.renderstreaming/Documentation~/installation.md
+++ b/com.unity.renderstreaming/Documentation~/installation.md
@@ -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.
-
-
-
-Check Package Manager window, Click `Advanced` button and enable `Show preview packages`.
-
-
-
-Input `renderstreaming` to the search box at the top of the Package Manager window.
-
-
-
-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`
-
-
-
-## Case of Unity 2020.3
-
Select **Window > Package Manager** in the menu bar.

@@ -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).
\ No newline at end of file
+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).
diff --git a/com.unity.renderstreaming/Documentation~/sample-arfoundation.md b/com.unity.renderstreaming/Documentation~/sample-arfoundation.md
index f7d64fea4..7e9ae4ae5 100644
--- a/com.unity.renderstreaming/Documentation~/sample-arfoundation.md
+++ b/com.unity.renderstreaming/Documentation~/sample-arfoundation.md
@@ -9,22 +9,18 @@ This sample demonstrates operating the position and direction of a camera on ano
To use this sample, You need to install following additional packages.
-- `ARFoundation 4.1.9`
-- `XR Plugin Management 4.2`
+- [AR Foundation](https://docs.unity3d.com/Packages/com.unity.xr.arfoundation@latest)
+- [XR Plugin Management](https://docs.unity3d.com/Packages/com.unity.xr.management@latest)
> [!NOTE]
-> `AR Foundation 4.1.9` is compatible with the following versions of the Unity Editor:
-> - 2019.4.15f1 or later
-> - 2020.3
-> - 2021.1
-> - 2021.2
+> Please check the item *Requirements* in the manual to know the package version which is compatible with your Unity Editor.
-In addition, depending on the platform, each `XR plugin` package must be installed.
+Moreover, you need to install each *XR plugin* package depending on the platform.
| Platform | packages |
| -------- | -------- |
-| iOS | `ARKit XR Plugin 4.1.9` |
-| Android | `ARCore XR Plugin 4.1.9` |
+| iOS | [ARKit XR Plugin](https://docs.unity3d.com/Packages/com.unity.xr.arcore@latest) |
+| Android | [ARCore XR Plugin](https://docs.unity3d.com/Packages/com.unity.xr.arkit@latest) |
## Build settings
@@ -53,10 +49,6 @@ Open **Project Settings** window and select **XR Plug-in Management**. Set enabl
## Usage
-### Hardware acceleration
-
-Recommend enabling `Hardware Encoder support` on the `Render Streaming` inspector to improve performance using hardware acceleration.
-
### Procedure
1) Launch the signaling server using public mode. Please refer to [this link](webapp.md) for launching.
@@ -75,4 +67,4 @@ Recommend enabling `Hardware Encoder support` on the `Render Streaming` inspecto
5) Push the `Start` button on the device and check streaming video.
-
\ No newline at end of file
+
diff --git a/com.unity.renderstreaming/Documentation~/sample-bidirectional.md b/com.unity.renderstreaming/Documentation~/sample-bidirectional.md
index faf1d35dc..b85121a2b 100644
--- a/com.unity.renderstreaming/Documentation~/sample-bidirectional.md
+++ b/com.unity.renderstreaming/Documentation~/sample-bidirectional.md
@@ -9,10 +9,6 @@ It works with Unity-Unity or Unity-Browser combination.
## Usage
-### Hardware acceleration
-
-Recommend enabling `Hardware Encoder support` on the `Render Streaming` inspector to improve performance using hardware acceleration.
-
### Procedure (Unity-Unity)
1) Launch the signaling server using **private mode**. Please refer to [this link](webapp.md) for launching.
@@ -50,7 +46,7 @@ Recommend enabling `Hardware Encoder support` on the `Render Streaming` inspecto
### Procedure (Unity-Browser)
-1.~3. steps same as Unity-Unity Procedure.
+1.~3. steps same as Unity-Unity Procedure.
4) Open your web browser and access `http://localhost`. You can see the top page. Click a `Bidirectional Sample` link.
@@ -66,4 +62,4 @@ Recommend enabling `Hardware Encoder support` on the `Render Streaming` inspecto
7) You can see streaming video each other's.
-
\ No newline at end of file
+
diff --git a/com.unity.renderstreaming/Documentation~/sample-broadcast.md b/com.unity.renderstreaming/Documentation~/sample-broadcast.md
index fc299b816..ef110d182 100644
--- a/com.unity.renderstreaming/Documentation~/sample-broadcast.md
+++ b/com.unity.renderstreaming/Documentation~/sample-broadcast.md
@@ -16,10 +16,6 @@ This sample uses build-in render pipeline. If you want to try [High-Definition R
## Usage
-### Hardware acceleration
-
-Recommend enabling `Hardware Encoder support` on the `Render Streaming` inspector to improve performance using hardware acceleration.
-
### Procedure
1) Launch the signaling server using public mode. Please refer to [this link](webapp.md) for launching.
diff --git a/com.unity.renderstreaming/Documentation~/sample-browserinput.md b/com.unity.renderstreaming/Documentation~/sample-browserinput.md
index 4913e1ba1..707054233 100644
--- a/com.unity.renderstreaming/Documentation~/sample-browserinput.md
+++ b/com.unity.renderstreaming/Documentation~/sample-browserinput.md
@@ -9,10 +9,6 @@ you can see the list of supported browsers on [The Web Application](webapp.md) p
## Usage
-### Hardware acceleration
-
-Recommend enabling `Hardware Encoder support` on the `Render Streaming` inspector to improve performance using hardware acceleration.
-
### Procedure
1) Launch the signaling server using public mode. Please refer to [this link](webapp.md) for launching.
diff --git a/com.unity.renderstreaming/Documentation~/sample-gyroscope.md b/com.unity.renderstreaming/Documentation~/sample-gyroscope.md
index cf46ca54c..20868ee72 100644
--- a/com.unity.renderstreaming/Documentation~/sample-gyroscope.md
+++ b/com.unity.renderstreaming/Documentation~/sample-gyroscope.md
@@ -4,10 +4,6 @@ This sample shows ways to operate the direction of a camera on the remote PC fro
## Usage
-### Hardware acceleration
-
-Recommend enabling `Hardware Encoder support` on the `Render Streaming` inspector to improve performance using hardware acceleration.
-
### Procedure
1) Launch the signaling server using public mode. Please refer to [this link](webapp.md) for launching.
diff --git a/com.unity.renderstreaming/Documentation~/sample-multiplay.md b/com.unity.renderstreaming/Documentation~/sample-multiplay.md
index 3d1b32887..3dc3457c2 100644
--- a/com.unity.renderstreaming/Documentation~/sample-multiplay.md
+++ b/com.unity.renderstreaming/Documentation~/sample-multiplay.md
@@ -4,10 +4,6 @@ The `Multiplay` sample can stream video and audio to multi Unity applications. T
## Usage
-### Hardware acceleration
-
-Recommend enabling `Hardware Encoder support` on the `Render Streaming` inspector to improve performance using hardware acceleration.
-
### Procedure
1) Launch the signaling server using public mode. Please refer to [this link](webapp.md) for launching.
diff --git a/com.unity.renderstreaming/Documentation~/sample-receiver.md b/com.unity.renderstreaming/Documentation~/sample-receiver.md
index 682f0ff4c..d4cde8d69 100644
--- a/com.unity.renderstreaming/Documentation~/sample-receiver.md
+++ b/com.unity.renderstreaming/Documentation~/sample-receiver.md
@@ -11,10 +11,6 @@ This sample can use in combination with the [Broadcast](sample-broadcast.md) sam
## Usage
-### Hardware acceleration
-
-Recommend enabling `Hardware Encoder support` on the `Render Streaming` inspector to improve performance using hardware acceleration.
-
### Procedure
This procedure is for using it with the [Broadcast](sample-broadcast.md) sample.
diff --git a/com.unity.renderstreaming/Documentation~/sample-renderpipeline.md b/com.unity.renderstreaming/Documentation~/sample-renderpipeline.md
index 53619f20e..ab6e3d160 100644
--- a/com.unity.renderstreaming/Documentation~/sample-renderpipeline.md
+++ b/com.unity.renderstreaming/Documentation~/sample-renderpipeline.md
@@ -12,25 +12,16 @@ This sample can use in combination with other samples below.
To use this sample, You need to install additional packages shown following table.
-### High-Definition Render pipeline
-| Unity version | packages |
-| ------------- | -------- |
-| Unity2019.4 | `High Definition RP 7.x` |
-| Unity2020.2 | `High Definition RP 10.x` |
+### [High-Definition Render pipeline](https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@15.0/manual/index.html)
-### Universal Render Pipeline
+Please see [Unity Editor compatibility](https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@15.0/manual/System-Requirements.html#unity-editor-compatibility) in the HDRP manual.
-| Unity version | packages |
-| ------------- | -------- |
-| Unity2019.4 | `Universal RP 7.5.x` |
-| Unity2020.2 | `Universal RP 10.3.x` |
+### [Universal Render Pipeline](https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@15.0/manual/index.html)
-## Usage
-
-### Hardware acceleration
+Please see [Unity Editor compatibility](https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@15.0/manual/requirements.html#unity-editor-compatibility) in the URP manual.
-Recommend enabling `Hardware Encoder support` on the `Render Streaming` inspector to improve performance using hardware acceleration.
+## Usage
### Procedure
@@ -46,4 +37,4 @@ Recommend enabling `Hardware Encoder support` on the `Render Streaming` inspecto
6) Click `Start` button.
-
\ No newline at end of file
+
diff --git a/com.unity.renderstreaming/Documentation~/samples.md b/com.unity.renderstreaming/Documentation~/samples.md
index a8a5b1422..799c946f1 100644
--- a/com.unity.renderstreaming/Documentation~/samples.md
+++ b/com.unity.renderstreaming/Documentation~/samples.md
@@ -1,6 +1,6 @@
# Samples
-The package contains the following samples.
+The package contains the following samples.
| Scene | Details |
| ----- | ------- |
@@ -35,11 +35,21 @@ Open **Menu** scene and press `Play` button, as you can see the menu for sample

-Users can change signaling settings below during runtime.
+You can change signaling settings below during runtime.
-- [**Signaling Type**](signaling-type.md)
-- **Enable/Disable SSL**
-- **Host Address**
-- **Interval (only Http signaling)**
+| Parameter | Description |
+| ----------- | --------------------------- |
+| [**Signaling Type**](signaling-type.md) | *Http*, *WebSocket* or *Furioos* |
+| **Enable/Disable SSL** | Use *https* if set enable. |
+| **Host Address** | Set IP address or URL of your signaling server. |
+| **Interval** | Polling interval for communication of signaling.
This parameter effects Http signaling. |
-
\ No newline at end of file
+
+
+Moreover, you can choice the options about the video streaming settings.
+
+| Parameter | Description |
+|-----------|---------------------------|
+| **Video Codec (Receiver)** | Choice preferred video codec for receiver.
Often the performance of [Hardware codec](https://docs.unity3d.com/Packages/com.unity.webrtc@2.4/manual/videostreaming.html#hardware-acceleration-codecs) is greater than software codec. |
+| **Video Codec (Sender)** | Choice preferred video codec for sender. |
+| **Stream Size** | Set the resolution of video streaming for sender. |
diff --git a/com.unity.renderstreaming/Documentation~/streaming-management.md b/com.unity.renderstreaming/Documentation~/streaming-management.md
index 92e997d61..d753db592 100644
--- a/com.unity.renderstreaming/Documentation~/streaming-management.md
+++ b/com.unity.renderstreaming/Documentation~/streaming-management.md
@@ -1,13 +1,13 @@
-# Streaming Management
+# Streaming Management Component
Unity Render Streaming automatically creates and destroys streams as needed. It also allows the developer to customize the mechanism for controlling the stream. For a description of components related to individual streams, see the section on components for streaming.
-## [`RenderStreaming`](../api/Unity.RenderStreaming.RenderStreaming.html) component
+## [`RenderStreaming`](../api/Unity.RenderStreaming.RenderStreaming.html) component reference
**Render Streaming** includes the following features.
- Communication with signaling servers
-- Streaming input from cameras
+- Streaming input from cameras
- Associating browser input with events

@@ -24,11 +24,10 @@ Unity Render Streaming automatically creates and destroys streams as needed. It
| *Credencial* | The credential to use when logging into the TURN server. | |
| *Credencial Type* | This attribute specifies what kind of `credential` is to be used when connecting to the TURN server. | `Password` |
| **Interval** | Set the polling frequency (in seconds) to the signaling server
Valid only if you are using Http as the signaling protocol. | 5 (sec) |
-| **Hardware Encoder Support** | Enable the checkbox to make this video encoding replace values that use a [hardware encoder](index.md#hardware-encoder). | `False` |
| **Handlers** | List of handlers of signaling process. | |
| **Run On Awake** | Automatically started when called `Awake` method. | `True` |
-## [`SingleConnection`](../api/Unity.RenderStreaming.SingleConnection.html) component
+## [`SingleConnection`](../api/Unity.RenderStreaming.SingleConnection.html) component reference
This component lists components that stream media or data via a single peer connection.
@@ -40,7 +39,7 @@ This component lists components that stream media or data via a single peer conn
| --------- | ----------- | ------- |
| **Streams** | List of streams | [] |
-## [`Broadcast`](../api/Unity.RenderStreaming.SingleConnection.html) component
+## [`Broadcast`](../api/Unity.RenderStreaming.SingleConnection.html) component reference
This component lists components that stream media or data via multiple peer connections.
diff --git a/com.unity.renderstreaming/Documentation~/tutorial.md b/com.unity.renderstreaming/Documentation~/tutorial.md
index 7f2d0b64f..0119419e1 100644
--- a/com.unity.renderstreaming/Documentation~/tutorial.md
+++ b/com.unity.renderstreaming/Documentation~/tutorial.md
@@ -1,34 +1,9 @@
-# Tutorial
+# Tutorial
In this page, we introduce the way to use samples published on Package Manager.
## Install 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.
-
-
-
-Check Package Manager window, Click `Advanced` button and enable `Show preview packages`.
-
-
-
-Input `renderstreaming` to the search box at the top of the Package Manager window.
-
-
-
-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`
-
-
-
-### Case of Unity 2020.3
-
Select **Window > Package Manager** in the menu bar.

@@ -114,8 +89,8 @@ Please see [this page](deploy-to-furioos.md) to learn how to deploy your applica
## After tutorial
-About general questions, please see [FAQ](faq.md) page. And you are available for discussions about Unity Render Streaming on [Unity Forum](https://forum.unity.com/forums/unity-render-streaming.413).
+About general questions, please see [FAQ](faq.md) page. And you are available for discussions about Unity Render Streaming on [Unity Forum](https://forum.unity.com/forums/unity-render-streaming.413).
-About the operation of inspectors, please see [Components settings](components.md) page.
+About the operation of inspectors, please see [Components settings](components.md) page.
About options of web application, please see [The web application](webapp.md) page.
-You can see more details for samples on the [Samples](samples.md) page.
\ No newline at end of file
+You can see more details for samples on the [Samples](samples.md) page.
diff --git a/com.unity.renderstreaming/Documentation~/use-inputsystem.md b/com.unity.renderstreaming/Documentation~/use-inputsystem.md
index ebd52b009..5780afc90 100644
--- a/com.unity.renderstreaming/Documentation~/use-inputsystem.md
+++ b/com.unity.renderstreaming/Documentation~/use-inputsystem.md
@@ -8,11 +8,11 @@ The user input on the browser is converted to the message format of Input System
You need to configure settings described below to use Input System. Note that different versions of Unity Editor support different methods.
-### For Unity 2021.2
+### For Unity 2021.3 or later
1. Open **Package Manager** window and check Input System version **1.3** installed.
-2. Open **Project Settings** window, and **Player > Resolution and Presentatoin**, and enable **Run In Background**.
+2. Open **Project Settings** window, and **Player > Resolution and Presentation**, and enable **Run In Background**.

@@ -24,17 +24,17 @@ You need to configure settings described below to use Input System. Note that di

-### For Unity 2020.3 and 2019.4
+### For Unity 2020.3
1. Check Input System version **1.3** installed.
-2. Open **Project Settings** window, and **Player > Resolution and Presentatoin**, and enable **Run In Background**.
+2. Open **Project Settings** window, and **Player > Resolution and Presentation**, and enable **Run In Background**.

-3. Open scene and move **Hirarchy** window, and select `EventSystem` object,
+3. Open scene and move **Hierarchy** window, and select `EventSystem` object,

4. Move **Inspector** window, and replace the `EventSystem` component with a `CustomEventSystem` component. `CustomEventSystem` is contained in the package sample. For import instruction, refer to [this page](samples.md).
-
\ No newline at end of file
+
diff --git a/com.unity.renderstreaming/Documentation~/video-streaming.md b/com.unity.renderstreaming/Documentation~/video-streaming.md
index 93c7044a9..562f8427f 100644
--- a/com.unity.renderstreaming/Documentation~/video-streaming.md
+++ b/com.unity.renderstreaming/Documentation~/video-streaming.md
@@ -1,86 +1,77 @@
-# Video Streaming
+# Video Streaming Component
-The base class for sending video is [`VideoStreamSender`](../api/Unity.RenderStreaming.VideoStreamSender.html), and the base class for receiving video is [`VideoStreamReceiver`](../api/Unity.RenderStreaming.VideoStreamReceiver.html). And various components are implemented using the inheritance relation. Components are provided for the sender and receiver sides.
+The component for sending video is [`Video Stream Sender`](../api/Unity.RenderStreaming.VideoStreamSender.html), and the component for receiving video is [`Video Stream Receiver`](../api/Unity.RenderStreaming.VideoStreamReceiver.html). Components are provided for the sender and receiver sides.
-> [!NOTE]
-> The choice of video codec is currently limited. Use **H.264** if using a hardware encoder, or **VP8** if using a software encoder.
+You can set a specific object for the video source to play on, including:
-## [`VideoStreamSender`](../api/Unity.RenderStreaming.VideoStreamSender.html) component
+- A [Camera](https://docs.unity3d.com/Manual/class-Camera.html) plane
+- A [Screen](https://docs.unity3d.com/Manual/com.unity.modules.screencapture.html) plane
+- A Web Camera
+- Any [Texture](https://docs.unity3d.com/Manual/class-TextureImporter.html) field in a component
-This component sends the texture.
+## [`VideoStreamSender`](../api/Unity.RenderStreaming.VideoStreamSender.html) component reference

### Properties
-| Parameter | Description | Default |
+| Property | Function | Default |
| --------- | ----------- | ------- |
-| **Streaming Size** | Size of the frame buffer used for streaming | 1280, 720 |
-| **Anti-aliasing** | The antialiasing level for the RenderTexture | None |
-| **Depth Buffer** | The precision of the render texture's depth buffer in bits | No depth buffer |
-
+| **Video Source Type** | Choose the type of source for your video streaming.
- *Camera*
- *Screen*
- *WebCam*
- *Texture* | Camera |
+| *Camera* | Use this field to define the Camera assigned to the Video Stream Sender component. | |
+| *Texture* | Use this field to define the Texture assigned to the Video Stream Sender component. | |
+| *Web Cam Device Index* | The index of the video input device to be used. See [WebCamTexture.devices](https://docs.unity3d.com/ScriptReference/WebCamTexture-devices.html). | 0 |
+| *Auto Request User Authorization* | Whether request permission to use any video input sources. You don't need to enable it if you call [Application.RequestUserAuthorization](https://docs.unity3d.com/ScriptReference/Application.RequestUserAuthorization.html) yourself. | Enabled |
+| *Depth Buffer* | The precision of the render texture's depth buffer in bits | No depth buffer |
+| *Anti-aliasing* | The anti-aliasing level for the RenderTexture | None |
+| *Streaming Size* | Size of the frame buffer used for streaming | 1280 x 720 |
+| **Video Codec** | Options displays difference on each environments because some environments can use hardware codecs. Software codecs implementations works on all environments. *Default* option means trying to use all available codecs for negotiating other peers. | Default |
+| **Frame rate** | The frame rate of the encoding process. Shouldn't set value over the game frame rate. | 30 |
+| **Bitrate (kbits/sec)** | The bitrate of the video streaming. | |
+| *Min* | The minimum value of the bitrate. | 0 |
+| *Max* | The maximum value of the bitrate. | 1000 |
+| **Scale Resolution Down** | The factor of multiply with the video resolution to reduce the bandwidth. | No Scale |
+
+## [`VideoStreamReceiver`](../api/Unity.RenderStreaming.VideoStreamReceiver.html) component reference
-## [`ScreenStreamSender`](../api/Unity.RenderStreaming.ScreenStreamSender.html) component
-
-This component sends the image of the main display.
-
-
+
### Properties
| Parameter | Description | Default |
| --------- | ----------- | ------- |
-| **Streaming Size** | Size of the frame buffer used for streaming | 1280, 720 |
-| **Anti-aliasing** | The antialiasing level for the RenderTexture | None |
-| **Depth Buffer** | The precision of the render texture's depth buffer in bits | No depth buffer |
+| **Render Mode** | Size of the frame buffer used for streaming.
- *Render Texture*
- *API Only* | *Render Texture* |
+| *Target Texture* | Use this field to define the Render Texture assigned to the Video Stream Sender component. | |
+| **Video Codec** | Options displays difference on each environments because some environments can use hardware codecs. Software codecs implementations works on all environments. *Default* option means trying to use all available codecs for negotiating other peers. | Default |
-## [`CameraStreamSender`](../api/Unity.RenderStreaming.CameraStreamSender.html) component
+## Details
-This component streams the `Camera` component's camera rendering results. Uses `Target Texture` to store the rendering results.
+The network status affects the quality of video streaming. You can keep the streaming by changing several properties of components even if the network status makes worse. Note that you can't change *texture size*, *texture format*, and *video codec* after starting video streaming.
-> [!NOTE]
-> You can attach the `Target Texture` to the `Camera` component.
-> If `Target Texture` is attached on Camera, use that `Render Texture` setting first.
-
-
-
-### Properties
+### Video Codec
-| Parameter | Description | Default |
-| --------- | ----------- | ------- |
-| **Streaming Size** | Size of the frame buffer used for streaming | 1280, 720 |
-| **Anti-aliasing** | The antialiasing level for the RenderTexture | None |
-| **Depth Buffer** | The precision of the render texture's depth buffer in bits | No depth buffer |
+The choice of video codec affects streaming performance. You can choose video codecs which implemented with hardware and software, when the texture size is large in particular, hardware implementation is faster. However, available hardware implementation codecs vary by platform, you may not be available in certain environments.
-## [`WebCamStreamSender`](../api/Unity.RenderStreaming.WebCamStreamSender.html) component
-
-This component streams the [WebCamTexture](https://docs.unity3d.com/ScriptReference/WebCamTexture.html) rendering results.
-
-
+You need to choose codecs available for both sender and receiver. If you choose *Default* as a video codec, this package uses all available codecs implemented on the platform, so making problems due to codec mismatches less.
> [!NOTE]
-> When building application for iOS platform, you need set `Camera Usage Description` on Player Settings.
-> If not set this, your application exits. (refer [this page](https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html#//apple_ref/doc/uid/TP40009251-SW24))
-
-
+> Some codecs may have limitations on the size of the resolution. For example, if you use an odd number for the size value, the incoming video may be automatically resized.
-### Properties
-| Parameter | Description | Default |
-| --------- | ----------- | ------- |
-| **Streaming Size** | Size of the frame buffer used for streaming | 1280, 720 |
-| **Device Index** | Index of [`WebCamTexutre.devices`](https://docs.unity3d.com/ScriptReference/WebCamTexture-devices.html) to use | 0 |
+> [!NOTE]
+> We've confirmed that *Firefox 104.0.2* doesn't complete the negotiation when trying to receive video when set *Default* for the video codec option to the sender. You need to set following codecs explicitly to the video sender.
+> - *VP8*
+> - *VP9 (Profile0, Profile2)*
+> - *H264 Constrained Baseline 5.1*
+### Frame rate
-## [`VideoStreamReceiver`](../api/Unity.RenderStreaming.VideoStreamReceiver.html) component
+Sets the frame rate of the streaming video. You should set the *frame rate* below the game's *frame rate*.
-This component receives a videostream and exposes a texture that rendered the receiving frame buffer.
+### Down-scaling resolution
-
+The larger the *texture resolution*, the higher the bit rate required for streaming. By reducing *texture resolution*, you can stabilize with less bandwidth.
-### Properties
+### Bit rate
-| Parameter | Description | Default |
-| --------- | ----------- | ------- |
-| **Streaming Size** | Size of the frame buffer used for streaming | 1280, 720 |
-| **Connection Id** | ID of receiving videostream | Empty |
+Controls the bandwidth used by specifying a *bit rate* limit for streaming.
diff --git a/com.unity.renderstreaming/LICENSE.md b/com.unity.renderstreaming/LICENSE.md
index ae56289be..516c989d7 100644
--- a/com.unity.renderstreaming/LICENSE.md
+++ b/com.unity.renderstreaming/LICENSE.md
@@ -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.
diff --git a/com.unity.renderstreaming/Runtime/Scripts/AudioCodecInfo.cs b/com.unity.renderstreaming/Runtime/Scripts/AudioCodecInfo.cs
index 2e7eb8b29..613084dbc 100644
--- a/com.unity.renderstreaming/Runtime/Scripts/AudioCodecInfo.cs
+++ b/com.unity.renderstreaming/Runtime/Scripts/AudioCodecInfo.cs
@@ -112,7 +112,7 @@ public override int GetHashCode()
return !(left == right);
}
- protected AudioCodecInfo(RTCRtpCodecCapability cap)
+ internal AudioCodecInfo(RTCRtpCodecCapability cap)
{
m_MimeType = cap.mimeType;
m_SdpFmtpLine = cap.sdpFmtpLine;
diff --git a/com.unity.renderstreaming/Runtime/Scripts/AudioStreamReceiver.cs b/com.unity.renderstreaming/Runtime/Scripts/AudioStreamReceiver.cs
index 181a37d66..4a6a366d3 100644
--- a/com.unity.renderstreaming/Runtime/Scripts/AudioStreamReceiver.cs
+++ b/com.unity.renderstreaming/Runtime/Scripts/AudioStreamReceiver.cs
@@ -83,7 +83,7 @@ internal IEnumerable SelectCodecCapabilities(IEnumerable<
return RTCRtpReceiver.GetCapabilities(TrackKind.Audio).SelectCodecCapabilities(codecs);
}
- protected virtual void Start()
+ private protected virtual void Start()
{
OnStartedStream += StartedStream;
OnStoppedStream += StoppedStream;
diff --git a/com.unity.renderstreaming/Runtime/Scripts/AudioStreamSender.cs b/com.unity.renderstreaming/Runtime/Scripts/AudioStreamSender.cs
index 6bc80f463..c1c352ab1 100644
--- a/com.unity.renderstreaming/Runtime/Scripts/AudioStreamSender.cs
+++ b/com.unity.renderstreaming/Runtime/Scripts/AudioStreamSender.cs
@@ -202,13 +202,13 @@ internal IEnumerable SelectCodecCapabilities(IEnumerable<
return RTCRtpSender.GetCapabilities(TrackKind.Audio).SelectCodecCapabilities(codecs);
}
- protected virtual void Awake()
+ private protected virtual void Awake()
{
OnStartedStream += _OnStartedStream;
OnStoppedStream += _OnStoppedStream;
}
- protected override void OnDestroy()
+ private protected override void OnDestroy()
{
base.OnDestroy();
@@ -257,14 +257,14 @@ AudioStreamSourceImpl CreateAudioStreamSource()
}
- protected override void OnEnable()
+ private protected override void OnEnable()
{
OnAudioConfigurationChanged(false);
AudioSettings.OnAudioConfigurationChanged += OnAudioConfigurationChanged;
base.OnEnable();
}
- protected override void OnDisable()
+ private protected override void OnDisable()
{
AudioSettings.OnAudioConfigurationChanged -= OnAudioConfigurationChanged;
base.OnDisable();
@@ -272,7 +272,7 @@ protected override void OnDisable()
/// workaround.
/// todo: Should add AudioStreamTrack supports AudioListener
- protected virtual void OnAudioFilterRead(float[] data, int channels)
+ void OnAudioFilterRead(float[] data, int channels)
{
// todo: Should add AudioStreamTrack supports AudioListener
if (m_Source == AudioStreamSource.AudioListener && m_onAudioFilterRead != null)
diff --git a/com.unity.renderstreaming/Runtime/Scripts/RenderStreaming.cs b/com.unity.renderstreaming/Runtime/Scripts/RenderStreaming.cs
index 2584227b7..7537a43c8 100644
--- a/com.unity.renderstreaming/Runtime/Scripts/RenderStreaming.cs
+++ b/com.unity.renderstreaming/Runtime/Scripts/RenderStreaming.cs
@@ -33,6 +33,9 @@ public sealed class RenderStreaming : MonoBehaviour
[SerializeField, Tooltip("List of handlers of signaling process.")]
private List handlers = new List();
+ ///
+ ///
+ ///
[SerializeField, Tooltip("Automatically started when called Awake method.")]
public bool runOnAwake = true;
#pragma warning restore 0649
@@ -99,17 +102,6 @@ static ISignaling CreateSignaling(string type, string url, float interval, Synch
return (ISignaling)Activator.CreateInstance(_type, args);
}
- void Awake()
- {
- if (!runOnAwake || m_running)
- return;
-
- RTCConfiguration conf = new RTCConfiguration { iceServers = iceServers };
- ISignaling signaling = CreateSignaling(
- signalingType, urlSignaling, interval, SynchronizationContext.Current);
- _Run(conf, signaling, handlers.ToArray());
- }
-
///
///
///
@@ -138,6 +130,12 @@ public void Run(
_Run(conf, signaling, handlers);
}
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
private void _Run(
RTCConfiguration? conf = null,
ISignaling signaling = null,
@@ -180,6 +178,9 @@ private void _Run(
m_running = true;
}
+ ///
+ ///
+ ///
public void Stop()
{
m_instance?.Dispose();
@@ -187,7 +188,18 @@ public void Stop()
m_running = false;
}
- public void OnDestroy()
+ void Awake()
+ {
+ if (!runOnAwake || m_running)
+ return;
+
+ RTCConfiguration conf = new RTCConfiguration { iceServers = iceServers };
+ ISignaling signaling = CreateSignaling(
+ signalingType, urlSignaling, interval, SynchronizationContext.Current);
+ _Run(conf, signaling, handlers.ToArray());
+ }
+
+ void OnDestroy()
{
Stop();
}
diff --git a/com.unity.renderstreaming/Runtime/Scripts/StreamSenderBase.cs b/com.unity.renderstreaming/Runtime/Scripts/StreamSenderBase.cs
index 5b5e7488b..2ef3a15da 100644
--- a/com.unity.renderstreaming/Runtime/Scripts/StreamSenderBase.cs
+++ b/com.unity.renderstreaming/Runtime/Scripts/StreamSenderBase.cs
@@ -112,13 +112,13 @@ public bool isPlaying
}
}
- protected virtual void OnDestroy()
+ private protected virtual void OnDestroy()
{
m_track?.Dispose();
m_track = null;
}
- protected virtual void OnEnable()
+ private protected virtual void OnEnable()
{
if (m_track?.ReadyState == TrackState.Live)
{
@@ -126,7 +126,7 @@ protected virtual void OnEnable()
}
}
- protected virtual void OnDisable()
+ private protected virtual void OnDisable()
{
if (m_track?.ReadyState == TrackState.Live)
{
diff --git a/com.unity.renderstreaming/Runtime/Scripts/VideoCodecInfo.cs b/com.unity.renderstreaming/Runtime/Scripts/VideoCodecInfo.cs
index 7082ec3b7..a964393b4 100644
--- a/com.unity.renderstreaming/Runtime/Scripts/VideoCodecInfo.cs
+++ b/com.unity.renderstreaming/Runtime/Scripts/VideoCodecInfo.cs
@@ -141,7 +141,7 @@ internal bool Equals(RTCRtpCodecCapability other)
&& this.sdpFmtpLine == other.sdpFmtpLine;
}
- protected VideoCodecInfo(RTCRtpCodecCapability caps)
+ internal VideoCodecInfo(RTCRtpCodecCapability caps)
{
m_MimeType = caps.mimeType;
m_SdpFmtpLine = caps.sdpFmtpLine;
diff --git a/com.unity.renderstreaming/Runtime/Scripts/VideoStreamReceiver.cs b/com.unity.renderstreaming/Runtime/Scripts/VideoStreamReceiver.cs
index 913418377..64e60004f 100644
--- a/com.unity.renderstreaming/Runtime/Scripts/VideoStreamReceiver.cs
+++ b/com.unity.renderstreaming/Runtime/Scripts/VideoStreamReceiver.cs
@@ -121,7 +121,7 @@ internal IEnumerable SelectCodecCapabilities(IEnumerable<
return RTCRtpReceiver.GetCapabilities(TrackKind.Video).SelectCodecCapabilities(codecs);
}
- protected virtual void Start()
+ private protected virtual void Awake()
{
OnStartedStream += StartedStream;
OnStoppedStream += StoppedStream;
diff --git a/com.unity.renderstreaming/Runtime/Scripts/VideoStreamSender.cs b/com.unity.renderstreaming/Runtime/Scripts/VideoStreamSender.cs
index 1d549c949..10015c661 100644
--- a/com.unity.renderstreaming/Runtime/Scripts/VideoStreamSender.cs
+++ b/com.unity.renderstreaming/Runtime/Scripts/VideoStreamSender.cs
@@ -417,12 +417,12 @@ public void SetTextureSize(Vector2Int size)
}
}
- protected virtual void Awake()
+ private protected virtual void Awake()
{
OnStoppedStream += _OnStoppedStream;
}
- protected override void OnDestroy()
+ private protected override void OnDestroy()
{
base.OnDestroy();
diff --git a/com.unity.template.renderstreaming-hd/Packages/com.unity.template.renderstreaming-hd/LICENSE.md b/com.unity.template.renderstreaming-hd/Packages/com.unity.template.renderstreaming-hd/LICENSE.md
index ae56289be..516c989d7 100644
--- a/com.unity.template.renderstreaming-hd/Packages/com.unity.template.renderstreaming-hd/LICENSE.md
+++ b/com.unity.template.renderstreaming-hd/Packages/com.unity.template.renderstreaming-hd/LICENSE.md
@@ -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.
diff --git a/com.unity.template.renderstreaming-rtx/Packages/com.unity.template.renderstreaming-rtx/LICENSE.md b/com.unity.template.renderstreaming-rtx/Packages/com.unity.template.renderstreaming-rtx/LICENSE.md
index ae56289be..439a392de 100644
--- a/com.unity.template.renderstreaming-rtx/Packages/com.unity.template.renderstreaming-rtx/LICENSE.md
+++ b/com.unity.template.renderstreaming-rtx/Packages/com.unity.template.renderstreaming-rtx/LICENSE.md
@@ -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.