diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/.signature b/Packages/com.unity.renderstreaming@3.1.0-exp.9/.signature
new file mode 100644
index 0000000..10c26ef
--- /dev/null
+++ b/Packages/com.unity.renderstreaming@3.1.0-exp.9/.signature
@@ -0,0 +1,5 @@
+{
+ "timestamp": 1734369333,
+ "signature": "YjmG/cjgDPoUy3inhxwNpkYtVHiW/sW/8VE14/SYnBzHVEUYm2lbEaOGXCbgGYs/18sd/FOccpUUSW2/7TePvE0kkGpI6QPcp1EfMF0lBl2B5pDCN6/B5HldCSaGfmN1g6VI+16h7NsXj8h28unAE7xFPvt8+kVPNhTFRtpGCXq2aZpMg7D/VJJxQMS/g3ra7fymLD9q/z3E2LhbPa5sfhjrUXM2AC+SYdiHIzlGqKR9Z1jnZ/GzD5dd4BfoFZQnBvgGYKK5TgjuNevLRxB4l4Jw7kOPyPOSJaoPA1mOPX8mD2BSOuKev1cEPzpnHVYfkoMglVcAt/ssYJwn+dU8Qv0XByTqF5CS2OfPt97dFlUFePtIc/1UcpK1EohzsVqlVYWvZ9s97eprLFAfCrMMNDBt38XYzCzIrdxGv942u3cHcn8JtYkCLuxYYl3uPFwbaonmKEtpDKVRNbfgAQeaM57SDb4NSZK7SoZ/+ZAzcLqrw3y3A7B/rUeu56qFNBtH",
+ "publicKey": "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQm9qQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FZOEFNSUlCaWdLQ0FZRUFzdUhXYUhsZ0I1cVF4ZEJjTlJKSAordHR4SmoxcVY1NTdvMlZaRE1XaXhYRVBkRTBEMVFkT1JIRXNSS1RscmplUXlERU83ZlNQS0ZwZ1A3MU5TTnJCCkFHM2NFSU45aHNQVDhOVmllZmdWem5QTkVMenFkVmdEbFhpb2VpUnV6OERKWFgvblpmU1JWKytwbk9ySTRibG4KS0twelJlNW14OTc1SjhxZ1FvRktKT0NNRlpHdkJMR2MxSzZZaEIzOHJFODZCZzgzbUovWjBEYkVmQjBxZm13cgo2ZDVFUXFsd0E5Y3JZT1YyV1VpWXprSnBLNmJZNzRZNmM1TmpBcEFKeGNiaTFOaDlRVEhUcU44N0ZtMDF0R1ZwCjVNd1pXSWZuYVRUemEvTGZLelR5U0pka0tldEZMVGdkYXpMYlpzUEE2aHBSK0FJRTJhc0tLTi84UUk1N3UzU2cKL2xyMnZKS1IvU2l5eEN1Q20vQWJkYnJMbXk0WjlSdm1jMGdpclA4T0lLQWxBRWZ2TzV5Z2hSKy8vd1RpTFlzUQp1SllDM0V2UE16ZGdKUzdGR2FscnFLZzlPTCsxVzROY05yNWdveVdSUUJ0cktKaWlTZEJVWmVxb0RvSUY5NHpCCndGbzJJT1JFdXFqcU51M3diMWZIM3p1dGdtalFra3IxVjJhd3hmcExLWlROQWdNQkFBRT0KLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCg"
+}
\ No newline at end of file
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/CHANGELOG.md b/Packages/com.unity.renderstreaming@3.1.0-exp.9/CHANGELOG.md
new file mode 100644
index 0000000..67678c9
--- /dev/null
+++ b/Packages/com.unity.renderstreaming@3.1.0-exp.9/CHANGELOG.md
@@ -0,0 +1,361 @@
+# Changelog
+All notable changes to com.unity.renderstreaming package will be documented in this file.
+
+The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
+and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
+
+## [3.1.0-exp.9] - 2024-12-13
+
+### Changed
+- deps: use com.unity.webrtc@3.0.0-pre.8
+- doc: improve the API documentation of VideoCodecInfo
+- doc: improve the API documentation of AudioCodecInfo
+- doc: improve the API documentation of VideoStreamSender
+- doc: improve the API documentation of VideoStreamReceiver
+- doc: improve the API documentation of InputSender
+- doc: improve the API documentation of InputReceiver
+- doc: improve the API documentation of AudioStreamSender
+- doc: improve the API documentation of AudioStreamReceiver
+- doc: improve the API documentation of SignalingManager
+
+## [3.1.0-exp.8] - 2023-11-30
+
+### Changed
+
+- Upgrade the version of WebRTC package `3.0.0-pre.7`.
+
+## [3.1.0-exp.7] - 2023-08-09
+
+### Added
+
+- Added configurable logger to enable users to customize logging for their environment.
+
+### Changed
+
+- Upgrade the version of WebRTC package `3.0.0-pre.6`.
+- Add `AudioStreamSender.loopback` property.
+
+### Fixed
+
+- Fixed error on HTTP signaling when using short polling interval.
+- Fixed `SignalingManager` so that ICE server configurations aren't effected.
+- Added a workaround to fix an issue where `InputField` wasn't worked when entering characters from browsers or a `Receiver` scene of package sample.
+
+### Removed
+
+- Removed Furioos Integration.
+
+## [3.1.0-exp.6] - 2023-02-24
+
+### Added
+
+- Support Automatic Streaming.
+- Support Render Streaming Wizard.
+- Support Command line arguments.
+- Add Render Streaming Settings in the Project Settings window.
+
+### Changed
+
+- Rename classes.
+ - `RenderStreaming` > `SignalingManager`
+- Websocket is in default for signaling protocol instead of HTTP polling.
+- Changed a unit of the HTTP polling interval, second to millisecond.
+
+## [3.1.0-exp.5] - 2023-01-16
+
+### Changed
+
+- Upgrade the version of Input System package `1.4.4`.
+- Upgrade the version of WebRTC package `3.0.0-pre.4`.
+
+### Fixed
+
+- Fix incorrect mouse position in full-screen web player sample.
+
+## [3.1.0-exp.4] - 2022-10-06
+
+### Added
+
+- Added APIs to select codec for audio/video streaming.
+- Added APIs to configure settings like bitrate for audio/video streaming.
+
+### Changed
+
+- Upgraded the version of Input System package `1.4.1`.
+- Upgraded the version of WebRTC package `2.4.0-exp.11`.
+- Merge features of three classes to `VideoStreamSender`.
+ - `MicrophoneStreamSender`
+ - `AudioStreamReceiver`
+ - `ScreenStreamSender`
+- Improve user interface on the inspector window of components below.
+ - `VideoStreamSender`
+ - `VideoStreamReceiver`
+ - `AudioStreamSender`
+ - `AudioStreamReceiver`
+
+### Fixed
+
+- Reduce CPU loads of the rendering thread by updating WebRTC package.
+- Fixed the crash when video resolutions higher than 1080p with hardware encoding.
+
+### Removed
+
+- No longer support Unity 2019.4.
+
+## [3.1.0-exp.3] - 2022-03-01
+
+### Changed
+
+- Upgraded the version of Input System package `1.3.0`.
+- Upgraded the version of WebRTC package `2.4.0-exp.6`.
+- Added microphone device option for streaming audio in the "Bidirectional" sample.
+- Integrate AR Foundation Sample (only use AR Foundation version 4.1.9, deprecated version 2.1)
+
+### Fixed
+
+- Fixed the worker thread is not closed when stopping the signaling client.
+- Fixed keyboard input sending only sends one key at a time from browser.
+- Fixed video flipped vertically when uging GLES/GLCore graphics API.
+- Fixed the crach when encoding the high resolution on macOS using HWA.
+- Fixed the gap of the input position between sender and receiver.
+- Fixed the unexpected behaviour of input after using Gyro sample.
+
+## [3.1.0-exp.2] - 2021-12-01
+
+### Added
+
+- Added audio streaming receiver.
+- Added the `Multiplay` scene into samples.
+- Added components for streaming.
+ - `MicrophoneStreamSender`
+ - `AudioStreamReceiver`
+ - `ScreenStreamSender`
+- Added components for controlling user input.
+ - `InputSender`
+ - `InputReceiver`
+
+### Changed
+
+- Upgraded WebRTC package to `2.4.0-exp.4`.
+- Upgraded Input System package to `1.0.2`.
+- Renamed components.
+ - `CameraStreamer` -> `CameraStreamSender`
+ - `ReceiveVideoViewer` -> `VideoStreamReceiver`
+ - `WebCamStreamer` -> `WebCamStreamSender`
+ - `AudioStreamer` -> `AudioStreamSender`
+ - `InputSystemChannnelSender` -> `InputSender`
+ - `InputSystemChannnelReceiver` -> `InputReceiver`
+- Improved controlling user input from browsers.
+- Updated manual documents.
+
+### Fixed
+
+- Fixed resource leak of sender stream tracks.
+
+## [3.1.0-exp.1] - 2021-06-15
+
+### Added
+
+- Android platform support
+- Added the Menu scene into samples
+
+### Changed
+
+- Upgraded WebRTC package to `2.4.0-exp.3`.
+- Added drop-down list UI for selecting the video capture device in the `Bidirectional` scene
+- Changed the signaling process for exchanging SDPs
+
+### Fixed
+
+- Fixed errors when disposing the scene while streaming video
+- Fixed the long processing time when disposing the signaling instance
+
+## [3.0.1-preview] - 2021-03-04
+
+### Fixed
+
+- Fixed a script error when importing the package sample
+
+### Changed
+
+- `Camerastreamer` uses a `TargetTexture` on the `Camera` component if the `RenderTexture` is attached on the `Camera`.
+
+## [3.0.0-preview] - 2021-03-02
+
+Version 3.0.0 has a big change in the package design. This mainly addresses moving scripts from the sample folder to Package Manager.
+
+### Added
+
+- Supported iOS platform.
+- Added new samples.
+- Added a documentation for samples.
+- Added components (`InputSystemChannelSender`, `InputSystemChannelReceiver`, `WebBrowserInputChannelReceiver`, `SingleConnection` and `Broadcast`).
+
+### Changed
+
+- Moved scripts from the sample folder to Package Manager.
+- Upgrading WebRTC package to `2.3.3-preview`.
+
+## [2.2.2-preview] - 2020-12-15
+
+### Changed
+
+- Updated unitypackage files of the package samples
+
+## [2.2.1-preview] - 2020-11-19
+
+### Added
+
+- Added `ReceiveVideo` scene in the sample project
+- Added documentation which explains how to customize webapp
+
+### Changed
+
+- Upgrading WebRTC to `2.2.1-preview`
+
+### Fixed
+
+- Fixed `NullPointerException` occurred when `UIController` instance is not attached `SimpleCameraController` component
+- Fixed behavior of the editor menu
+
+## [2.2.0-preview] - 2020-11-09
+
+### Changed
+
+- Upgrading WebRTC to `2.2.1-preview`
+
+
+## [2.1.1-preview] - 2020-09-11
+
+### Changed
+
+- Upgrading WebRTC to `2.1.1-preview`
+- Changed not to customize SDP to make stabilize bitrate of video streaming
+- Erase Japanese documentation due to migrating to internal translation system
+
+## [2.1.0-preview] - 2020-08-28
+
+### Added
+
+- Add a sample used Built-in Render Pipeline as graphics render pipeline
+
+### Changed
+
+- Upgrading WebRTC to `2.1.0-preview`
+
+### Fixed
+
+- Fixed the issue when pressing multiple buttons on a keyboard
+
+## [2.0.2-preview] - 2020-05-14
+
+### Changed
+
+- Upgrading input system to `1.0.0`
+- Upgrading WebRTC to `2.0.2-preview`
+
+### Fixed
+
+- Fix documents
+
+## [2.0.1-preview] - 2020-05-01
+
+### Fixed
+
+- Fixed versioning issue
+
+## [2.0.0-preview] - 2020-04-30
+
+### Changed
+
+- Upgrading input system to `1.0.0-preview.6`
+- Upgrading WebRTC to `2.0.0-preview`
+- Update URP/HDRP sample
+
+## [1.2.2-preview] - 2020-03-06
+
+### Fixed
+
+- Fix build error when build standalone
+
+## [1.2.1-preview] - 2020-02-28
+
+### Changed
+
+- Upgrading WebRTC to `1.1.1-preview`
+
+## [1.2.0-preview] - 2020-02-25
+
+### Added
+
+- Adding `AudioStreamer` class
+- Adding the flag to select encoder
+
+### Changed
+
+- Upgrading Unity version to `2019.3`
+- Upgrading HDRP to `7.1.7`
+- Upgrading input system to `1.0.0-preview.1`
+- Upgrading WebRTC to `1.1.0-preview`
+
+### Fixed
+
+- Display the mouse pointer in the correct position
+- Try downloading webserver from a known version if the current version doesn't exist
+
+## [1.1.2-preview] - 2019-09-20
+
+Fixed
+
+- Fix image links for Japanese documentation on Unity website
+
+## [1.1.1-preview] - 2019-09-14
+
+### Fixed
+
+- Fix image links for documentation on Unity website
+
+## [1.1.0-preview] - 2019-09-13
+
+### Added
+
+- Adding menu to download web app
+
+### Changed
+
+- Upgrading input system to `0.9.4-preview`
+- Upgrading HDRP to `5.16.1-preview`
+- Adding keyboard event to reset camera position
+
+## [1.0.0-preview] - 2019-08-22
+
+### Added
+
+- Eliminates the necessity of user interaction when installing an HDRP sample
+- Adding a check to automatically set HDRP render pipeline settings on initial setup
+
+### Changed
+
+- Refactor `RenderStreamingHDRPAutomator` to use json instead of ScriptableObject
+
+### Fixed
+
+- Blit Render Texture using customRender instead of `Rendering.RenderPipeline.BeginCameraRendering`
+
+## [0.2.0-preview] - 2019-07-30
+
+### Changed
+
+- Removed the direct dependency to HDRP package
+
+### Added
+
+- Added a unitypackage file containing an HDRP sample, and a menu editor to install it
+
+## [0.1.0-preview] - 2019-07-22
+
+- Initial Release
+
+### Added
+
+- Added a sample project which uses RenderStreaming tech.
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/CHANGELOG.md.meta b/Packages/com.unity.renderstreaming@3.1.0-exp.9/CHANGELOG.md.meta
new file mode 100644
index 0000000..18be622
--- /dev/null
+++ b/Packages/com.unity.renderstreaming@3.1.0-exp.9/CHANGELOG.md.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 9d96f60a550ceea4288a6d3cb5e48592
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/TableOfContents.md b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/TableOfContents.md
new file mode 100644
index 0000000..471a941
--- /dev/null
+++ b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/TableOfContents.md
@@ -0,0 +1,29 @@
+* [About Unity Render Streaming](index.md)
+* [Overview](overview.md)
+* [Tutorial](tutorial.md)
+* [Developing a streaming application](dev-streaming-app-intro.md)
+ * [Creating The Scene](create-scene.md)
+ * [Setting Up Device Input](control-camera.md)
+* [Render Streaming Settings](settings.md)
+* [Render Streaming Wizard](wizard.md)
+* [Web Application](webapp.md)
+ * [Configure Self-Signed Credentials for https](https.md)
+ * [Setting for TURN Server](turnserver.md)
+ * [About Signaling Type](signaling-type.md)
+ * [Customize Web Application](customize-webapp.md)
+* [Components Settings](components.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)
+* [Command-line option](commandline-option.md)
+* [Samples](samples.md)
+ * [Receiver](sample-receiver.md)
+ * [Broadcast](sample-broadcast.md)
+ * [Bidirectional](sample-bidirectional.md)
+ * [RenderPipeline](sample-renderpipeline.md)
+ * [AR Foundation](sample-arfoundation.md)
+ * [Gyroscope](sample-gyroscope.md)
+ * [Web Browser Input](sample-browserinput.md)
+ * [Multiplay](sample-multiplay.md)
+* [FAQ](faq.md)
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/audio-streaming.md b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/audio-streaming.md
new file mode 100644
index 0000000..e71077d
--- /dev/null
+++ b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/audio-streaming.md
@@ -0,0 +1,37 @@
+# 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. Components are provided for the sender and receiver.
+
+## [`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.
+
+
+
+### Properties
+
+| Parameter | Description | Default |
+| --------- | ----------- | ------- |
+| **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 microphone 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 |
+| *Loopback* | The sending audio is also played on sender side. | Disabled |
+| **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
+
+The components receive audio track stream and rendering to [`AudioSource`](https://docs.unity3d.com/ScriptReference/AudioSource.html).
+
+
+
+### Properties
+
+| Parameter | Description | Default |
+| --------- | ----------- | ------- |
+| **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/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/browser-input.md b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/browser-input.md
new file mode 100644
index 0000000..11e904d
--- /dev/null
+++ b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/browser-input.md
@@ -0,0 +1,156 @@
+# Browser Input Process
+
+Unity Render Streaming supports user input from the browser, making it possible to replicate operating Unity in the browser.
+
+## Input devices
+
+Browser input is supported for the following devices. Multiple devices can be used simultaneously.
+
+- Mouse
+- Keyboard
+- Touch
+- Gamepad
+
+The browser sends byte sequences, and Unity uses the `New Input System`.
+
+## Data Format
+
+### Mouse Events
+
+|index|value|size|
+|-------|-----|-----|
+|0|0|1|
+|1|position x|2|
+|3|position y|2|
+|5|button|1|
+
+### Keyboard Events
+
+|index|value|size|
+|-------|-----|-----|
+|0|1|1|
+|1|key code|1|
+
+### Touch Events
+
+The data size for touch events varies depending on the number of detected fingers. The `length` value of the first byte corresponds to the number of detected fingers.
+
+|index|value|size|
+|-------|-----|-----|
+|0|2|1|
+|1|phase|1|
+|2|length|1|
+|3|position x|2|
+|5|position y|2|
+|7|force|4|
+
+### Gamepad Events
+
+There are four types of gamepad events. Each type has a different data format.
+
+| event name | value |
+|-------|-----|
+| button down | 0 |
+| button up | 1 |
+| button pressed | 2 |
+| axis | 3 |
+
+For `button down` 、 `button up` 、 `button pressed`:
+
+|index|value|size|
+|-------|-----|-----|
+|0|5|1|
+|1|event type|1|
+|2|button index|1|
+|3|value|8|
+
+For `axis`:
+
+|index|value|size|
+|-----|-----|----|
+|0|5|1|
+|1|event type|1|
+|2|button index|1|
+|3|axis x|8|
+|11|axis y|8|
+
+## Multi-user
+
+The `RemoteInputReceiver` class can be used to control inputs from multiple users. Call `RemoteInputReceiver.Create` to create a `RemoteInput` instance. Next the message from the `RTCDataChannel`is passed to the `RemoteInput.ProcessInput` method.
+
+```CSharp
+// Create a RemoteInput instance
+RemoteInput input = RemoteInputReceiver.Create();
+channel.OnMessage = bytes => input.ProcessInput(bytes);
+```
+
+Get the input device from the `RemoteInput` instance and reference the device value to control the input. Below is an example of using keyboard input.
+
+```CSharp
+// Get the keyboard device, process on w key press
+Keyboard keyboard = input.RemoteKeyboard;
+if(keyboard.wKey.isPressed)
+{
+ // ...
+}
+```
+
+## Using Unity UI
+
+If you use UnityUI, press `Replace with InputSystemUIInputModule` in the `StandaloneInputModule` that is attached to the same object as the `EventSystem` component.
+
+
+
+You can control the UnityUI placed on the game scene from browser.
+
+> [!NOTE]
+> If the Unity application is in Background, even if the `RunInBackground` checkbox is On, you can not control the UnityUI from browser. This issue will be fixed in `com.unity.inputsystem`.
+
+
+
+### Workaround for using UnityUI on RunInBackground
+
+If use UnityUI in the background, follow the steps below.
+
+1. Update `com.unity.inputsystem` to `1.1.0-preview.2` on PackageManager.
+
+2. In **Project Setting > Player > Other Setting**, check `Allow 'unsafe' code`.
+
+3. Replace `EventSystem` in the Scene with the following component.
+
+```CSharp
+using UnityEngine.EventSystems;
+using UnityEngine.InputSystem;
+using UnityEngine.InputSystem.LowLevel;
+
+public class CustomEventSystem : EventSystem
+{
+ protected override void Awake()
+ {
+ base.Awake();
+ unsafe
+ {
+ InputSystem.onDeviceCommand += InputSystemOnDeviceCommand;
+ }
+ }
+
+ private static unsafe long? InputSystemOnDeviceCommand(InputDevice device, InputDeviceCommand* command)
+ {
+ if (command->type != QueryCanRunInBackground.Type)
+ {
+ // return null is skip this evaluation
+ return null;
+ }
+
+ ((QueryCanRunInBackground*)command)->canRunInBackground = true;
+ return InputDeviceCommand.GenericSuccess;
+ }
+
+ protected override void OnApplicationFocus(bool hasFocus)
+ {
+ //Do not change focus flag on eventsystem
+ }
+}
+```
+
+4. (Optional) For UnityEditor, Open **Window > Analysis > Input Debugger** and turn on `Lock Input to Game View` in Options.
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/commandline-option.md b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/commandline-option.md
new file mode 100644
index 0000000..62ee995
--- /dev/null
+++ b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/commandline-option.md
@@ -0,0 +1,73 @@
+# Command line arguments
+
+Unity Render Streaming supports configuration changes via command line arguments. you can change settings to match the deployment environments. Command line arguments work with Windows, macOS, and Linux runtime applications. Mobile platforms aren't supported.
+
+> [!WARNING]
+> **-batchmode** and **-nographics** options don't work with Unity Render Streaming.
+
+Command line arguments are evaluated when initializing the [**SignalingManager**](streaming-management.md) component. When command line arguments are evaluated in the **SignalingManager** component, it overrides the settings specified in the [Settings Window](settings.md). If you wish to ignore the command line options, specify **Evaluate command line arguments** off in the SignalingManager inspector. If a command line arguments contain invalid values, the contents of the configuration window are evaluated, instead of the arguments of the command line.
+
+Use a command line with the following arguments to start your standalone app.
+
+| Argument | Description |
+| --- | --- |
+| `signalingType ` | Specify the signaling type. **websocket** or **http**. |
+| `signalingUrl ` | Specify the URL of signaling server. |
+| `iceServerUrl ` | Set the URL of STUN/TURN server. |
+| `iceServerUsername ` | Specify the user name of the TURN server. |
+| `iceServerCredential ` | Specify the password of the TURN server. |
+| `iceServerCredentialType ` | Specify the credential type for the TURN server. **password** or **oauth**. |
+| `pollingInterval ` | Specify the polling interval in milliseconds to the signaling server. This value is used when using **http** for the signaling type. |
+| `importJson ` | Specify the path of the JSON file. |
+
+## Import JSON
+
+You can change the configuration via the JSON file when using **-importJson** option in command line. The JSON file must be written in the following format:
+
+```javascript
+{
+ "signalingType": "websocket",
+ "signalingUrl": "ws://192.168.11.11",
+ "iceServers": [{
+ "urls": [
+ "stun:stun.l.google.com:19302"
+ ],
+ "username": "user",
+ "credential": "pass",
+ "credentialType": "password"
+ }],
+ "pollingInterval": "5000"
+}
+```
+
+## Command line examples
+
+Change the signaling type to **http**:
+
+```
+RenderStreaming.exe -signalingType http
+```
+
+Change the URL of the signaling server:
+
+```
+RenderStreaming.exe -signalingUrl http://192.168.10.1
+```
+
+Specify multiple URLs of STAN servers:
+
+```
+RenderStreaming.exe -iceServerUrl stun:stun.l.google.com:19302 -iceServerUrl stun:stun.l.google.com:19303
+```
+
+Specify the URL, username, and password of the TURN server:
+
+```
+RenderStreaming.exe -iceServerUrl turn:192.168.10.10:3478?transport=udp -iceServerUsername username -iceServerCredentialType password -iceServerCredential pass
+```
+
+Specify the path of the JSON file:
+
+```
+RenderStreaming.exe -importJson config.json
+```
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/components.md b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/components.md
new file mode 100644
index 0000000..7b40ed4
--- /dev/null
+++ b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/components.md
@@ -0,0 +1,8 @@
+# Components Settings
+
+This package provides some useful components to make the streaming feature to the application made with Unity.
+
+- [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/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/control-camera.md b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/control-camera.md
new file mode 100644
index 0000000..8b158b0
--- /dev/null
+++ b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/control-camera.md
@@ -0,0 +1,91 @@
+# Setting Up Device Input
+
+To control the camera on the remote PC, we need to link the input events on web browsers to the actions in Unity. **Input System** makes it easy to implement the input processing.
+
+## Check settings of Input System
+
+First, please check the [Wizard window](wizard.md) about the Input System settings.
+
+## Adding components for input processing
+
+Open the Unity scene which created in [the previous page](create-camera.md), and select **Main Camera** in the Hierarchy window. Add the **Input Receiver** component in the Inspector window.
+
+
+
+The initial condition of the inspector of **Input Receiver** is below.
+
+
+
+Add the **Input Receiver** component to the **Broadcast** component property.
+
+
+
+## Setting Input Actions
+
+We will use the [**Input Actions**](https://docs.unity3d.com/Packages/com.unity.inputsystem@1.0/manual/Actions.html) feature of the Input System. Input Actions is a mechanism for mapping various inputs to Unity actions, and it provides editing tools that make it easy for anyone to use. We will use Input Actions to define mouse actions.
+
+Right-click in the project window, and then click **Create > Input Actions**.
+
+
+
+The asset will be added to the project window and rename to **Control**. Double-click on the **Control** asset in the project window, and the **Action editor** will appear.
+
+
+
+Click the **+** button in **Actions Maps** to add an item.
+
+
+
+Rename the **Actions** item to `Look`.
+
+
+
+Select the item and change **Action Type** to `Value`, and **Control Type** to `Vector2`.
+
+
+
+Next, select the **\** item and add **Mouse > Delta** to the **Path** of **Binding**.
+
+
+
+The result will look like this. Note that the last step is to press the **Save Asset** button to save your edits.
+
+
+
+## Setting [`InputReceiver`](../api/Unity.RenderStreaming.InputReceiver.html) component
+
+Drag the **Control** asset to the **Input Actions** property of the [`InputReceiver`](../api/Unity.RenderStreaming.InputReceiver.html) component.
+
+
+
+Add the code to control the rotation of the camera. Move to the Inspector window, click **Add component** button and select **New Script** Script to create the asset. Change the asset name to `PlayerControler`.
+
+
+
+The contents of the script will be as follows.
+
+```csharp
+using UnityEngine;
+using UnityEngine.InputSystem;
+
+public class PlayerController : MonoBehaviour
+{
+ public void Look(InputAction.CallbackContext value)
+ {
+ Vector2 input = value.ReadValue();
+ transform.eulerAngles += new Vector3(-input.y, input.x, 0);
+ }
+}
+```
+
+Once you have copied the script and saved the file, assign `PlayerController.Look` to the [`InputReceiver`](../api/Unity.RenderStreaming.InputReceiver.html) component's **Look** event.
+
+
+
+## Checking on browsers
+
+The mouse operation in the browser should be reflected in the rotation of the camera. If the camera is not moved, please check the settings on the [Wizard](wizard.md) window.
+
+## Next step
+
+We were able to incorporate the input processing using the Input Actions feature. If you would like to learn more about the features of Unity Render Streaming, please see the [Sample page](samples.md). Also, check out [Customizing your web application](customize-webapp.md) for information on how to modify the web user interface.
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/create-scene.md b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/create-scene.md
new file mode 100644
index 0000000..06ffae0
--- /dev/null
+++ b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/create-scene.md
@@ -0,0 +1,57 @@
+# Creating The Scene
+
+This tutorial explains how to edit an empty scene in Unity Editor and display the image rendered from the camera to the browser.
+
+## Changing Project Settings
+
+The procedure described in this page assumes that the [**Automatic Streaming**](settings.md##general-settings) feature is not used. Please turn the flag off following steps.
+
+1: Open the **Project Settings** window.
+
+2: Select **Render Streaming** tab.
+
+3: Select **Create New Settings Asset**.
+
+4: Save the asset with any name.
+
+5: Disable **Automatic Streaming**.
+
+
+
+## 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)**.
+
+
+
+Select the **Main Camera** object in the Hierarchy window, and add the **Signaling Manager** component in the Inspector window.
+
+
+
+Next, we will add the **Broadcast** component to the **Main Camera** object. this component deliver the stream to multiple peers.
+
+
+
+Assign the **Broadcast** component to the `Handler` property of the **Render Streaming** component.
+
+
+
+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 [**Video Stream Sender**](video-streaming.html#videostreamsenderapiunityrenderstreamingvideostreamsenderhtml-component) component to the **Broadcast** component property. And set camera
+
+
+
+### Check on browser
+
+Open the **Receiver Sample** page, and you should see the video from the Unity camera appear in your browser.
+
+
+
+## Next Step
+
+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, please try to control the camera from the browser. Please go to [the next page](control-camera.md).
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/customize-webapp.md b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/customize-webapp.md
new file mode 100644
index 0000000..65c416b
--- /dev/null
+++ b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/customize-webapp.md
@@ -0,0 +1,67 @@
+# Customize web application
+
+## Implementing the Web Application
+
+The web application source code can be found in the `WebApp` folder on [GitHub](https://github.com/Unity-Technologies/UnityRenderStreaming). You can clone the repository using the command below:
+
+```shell
+git clone https://github.com/Unity-Technologies/UnityRenderStreaming
+```
+
+The directory structure under the WebApp folder is given below:
+
+```shell
+WebApp
+├─client // web client
+│ ├─public
+│ │ ├─bidirectional // bidirectional page
+│ │ ├─css
+│ │ ├─images
+│ │ ├─js
+│ │ ├─multiplay // multiplay page
+│ │ ├─receiver // receiver page
+│ │ ├─videoplayer // videoplayer page
+│ │ └─index.html
+│ ├─src // common component for web client
+│ └─test // test for common component
+├─src // web server
+│ └─class
+└─test
+```
+
+If you want to change the user interface on the browser, you need to customize scripts in the `client/public` folder.
+
+While you want to change the signaling process, please check under the `src` folder. This source code is written `TypeScript`.
+
+## Building the Web Application
+[Node.js](https://nodejs.org/) must also be installed to use the source code.
+Use the following commands to start the web app through **npm** command:
+
+```shell
+cd WebApp
+npm install
+npm run build
+npm run start
+```
+
+Use this command to display the help guide:
+
+```shell
+npm run start -- -h
+```
+
+See [the documentation](webapp.md) for details on the options.
+
+This command will start the server using `ts-node`:
+
+```shell
+npm run dev
+```
+
+## Distributing the web application
+
+When distributing the web app, the app can be converted into executable binary in order to cut the effort required to set up the environment. Use the following command:
+
+```shell
+npm run pack
+```
\ No newline at end of file
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/data-streaming.md b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/data-streaming.md
new file mode 100644
index 0000000..98f6f55
--- /dev/null
+++ b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/data-streaming.md
@@ -0,0 +1,38 @@
+# 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, Unity Render Streaming provides a component to send messages of [Input System](https://docs.unity3d.com/Packages/com.unity.inputsystem@latest).
+
+## [`InputSender`](../api/Unity.RenderStreaming.InputSender.html) component reference
+
+This component sends input events fired from all input devices connected machine.
+
+
+
+### Properties
+
+| Parameter | Description | Default |
+| --------- | ----------- | ------- |
+| **Local** | Channel is local or remote | `False` |
+| **Label** | Channel label | Empty |
+
+## [`InputReceiver`](../api/Unity.RenderStreaming.InputReceiver.html) component reference
+
+This component receives input events from Unity.
+
+
+
+### Properties
+
+| Parameter | Description | Default |
+| --------- | ----------- | ------- |
+| **Local** | Channel is local or remote. | `False` |
+| **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 |
+
+
+
+
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/dev-streaming-app-intro.md b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/dev-streaming-app-intro.md
new file mode 100644
index 0000000..d3b78f2
--- /dev/null
+++ b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/dev-streaming-app-intro.md
@@ -0,0 +1,11 @@
+# Developing a streaming application
+
+This section will walk you through the steps to create a simple streaming application from an empty Unity project.
+
+## Creating The Scene
+
+To open the Unity editor and create a scene for streaming, see [Creating The Scene](create-scene.md).
+
+## Controlling The Camera
+
+Check out the [Setting Up Device Input](control-camera.md) page for more information.
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/faq.md b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/faq.md
new file mode 100644
index 0000000..12a1cc2
--- /dev/null
+++ b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/faq.md
@@ -0,0 +1,76 @@
+# FAQ
+
+## Errors
+
+### Video stream not showing in browser
+
+The browser version might be too old. Make sure that the latest version is installed. Or firewall settings can also cause the issue, please try to turn it off once.
+
+Please check if there is any error log on the browser console and Unity debug console.
+
+### Web app doesn't run on Safari browser
+
+Check the web server's [startup options](webapp.md). In **Safari** and **iOS Safari**, WebRTC features cannot be used with **http**. Instead, **https** must be used.
+Also, **iOS Safari** does not support WebSocket signaling if the server uses a self-signed certificate. Please check [here](signaling-type.md) for more information.
+
+### Unity's initial startup fails
+
+Confirm you're using a `Graphics API` and compare [requirements](https://docs.unity3d.com/Packages/com.unity.webrtc@latest) of `com.unity.webrtc`.
+If you use the hardware encoder, Make sure you're using a graphics card that supports **Nvcodec**. Also confirm that the latest graphics driver version is installed. See also: `com.unity.webrtc` documentation.
+
+### Web server fails to run
+
+Make sure the port isn't being used by another service.
+
+### Unity UI can't be operated through a browser.
+
+It is only possible to operate when the focus is on the running application.
+On [This page](browser-input.md#using-unity-ui), you can see more info.
+
+## Issues with the environment
+
+### Which versions of Unity can be used?
+
+**Unity 2020.3** or higher.
+
+### Which OS can be used?
+
+**Windows10 x64**, **Linux x64**, **macOS** and **iOS** **Android**.
+
+**UWP** and **WebGL** are not supported.
+
+### Are there any hardware constraints?
+
+On Windows and Linux, the hardware codec uses an NVIDIA graphics card. See the [NVIDIA site](https://developer.nvidia.com/video-encode-decode-gpu-support-matrix) for information on graphics cards that support NVCodec.
+
+### Which browsers are supported?
+
+See [this page](https://caniuse.com/#search=webrtc).
+
+## Questions about features
+
+### Is it possible to broadcast to multiple devices?
+
+Yes. However, the more devices being transmitted to, the greater the burden on the transmitting device. For example, on a new desktop PC it's possible to transmit 720p video to about 5 devices, but anything more than that will require using an [SFU](https://webrtcglossary.com/sfu/) broadcast server.
+
+### Is simulcast supported?
+
+Currently, we do not support simulcast.
+
+### Can you broadcast the feed from multiple cameras?
+
+Yes. If you use the hardware encoder, make sure to check the limitation of the number of cameras used at the same time. See the NVIDIA [document](https://developer.nvidia.com/video-encode-decode-gpu-support-matrix).
+
+### How do you increase the video quality?
+
+You can set the resolution of the frame on the inspector window of [video stream components](video-streaming.md). Keep in mind that video quality depends on the quality of the network.
+
+## Questions about support
+
+### Technical support from Unity can be gotten?
+
+It is available to ask questions on the page of [Unity forum](https://forum.unity.com/forums/unity-render-streaming.413). Also please report on [Github Issues](https://github.com/Unity-Technologies/UnityRenderStreaming/issues) for reporting bugs or requesting features.
+
+### Is it available to deploy Unity to cloud service like GCP as a rendering server?
+
+Unity is not supported using for rendering server.
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/filter.yml b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/filter.yml
new file mode 100644
index 0000000..aeab04c
--- /dev/null
+++ b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/filter.yml
@@ -0,0 +1,13 @@
+apiRules:
+- include:
+ uidRegex: Unity.RenderStreaming
+ type: Namespace
+- exclude:
+ uidRegex: ^System\.Object\..*$
+ type: Method
+- exclude:
+ uidRegex: ^System\.ValueType\..*$
+ type: Method
+- exclude:
+ hasAttribute:
+ uid: System.ObsoleteAttribute
\ No newline at end of file
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/https.md b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/https.md
new file mode 100644
index 0000000..de35013
--- /dev/null
+++ b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/https.md
@@ -0,0 +1,216 @@
+# Configure Self-Signed Credentials for https
+
+## Prerequisites
+
+### Windows
+
+This document is written assuming that the OS is Windows.
+
+### Chocolatey
+
+**Chocolatey** is a package manager for Windows (like apt-get or yum but for Windows).
+Link to install Chocolatey: [https://chocolatey.org/install](https://chocolatey.org/install)
+
+### OpenSSL
+
+OpenSSL is a robust, commercial-grade, and full-featured toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols.
+Installation:
+
+```terminal
+choco install openssl.light
+```
+
+## Step 1: Create a Private Key
+
+Run the command:
+
+```terminal
+"C:\Program Files\OpenSSL\bin\openssl.exe" genrsa -des3 -out rootSSL.key 2048
+```
+
+Enter a Password:
+
+```terminal
+Enter pass phrase for rootSSL.key:
+```
+
+Verify the Password:
+
+```terminal
+Verifying - Enter pass phrase for rootSSL.key:
+```
+
+## Step 2: Create a Certificate File
+
+Run the command:
+
+```terminal
+"C:\Program Files\OpenSSL\bin\openssl.exe" req -x509 -new -nodes -key rootSSL.key -sha256 -days 1024 -out rootSSL.pem
+```
+
+Enter the Password:
+
+```terminal
+Enter pass phrase for rootSSL.key:
+```
+
+Enter your Country's 2-Letter Code:
+
+```terminal
+Country Name (2 letter code) [AU]:CA
+```
+
+Enter the name of your state/province:
+
+```terminal
+State or Province Name (full name) [Some-State]:Quebec
+```
+
+Enter the name of your locality (city):
+
+```terminal
+Locality Name (eg, city) []:montreal
+```
+
+Enter the name of your organization:
+
+```terminal
+Organization Name (eg, company) [Internet Widgits Pty Ltd]:Unity
+```
+
+Enter the name of your business unit within the organization:
+
+```terminal
+Organizational Unit Name (eg, section) []:Verticals
+```
+
+Enter your computer's `fully qualified domain name` or your name:
+
+```terminal
+Common Name (e.g. server FQDN or YOUR name) []:Tony
+```
+
+Enter your e-mail address:
+
+```terminal
+Email Address []:anthonyma@unity3d.com
+```
+
+## Step 3: Get Windows to Trust the Certificate Authority (CA)
+
+1. Search for and run `Microsoft Management Console (mmc.exe)`
+
+ 
+
+2. Go to `File > Add/Remove Snap-in...`
+
+ 
+
+3. Click on `Certificates` and then `Add >`
+
+ 
+
+4. Select `Computer Account` and then `Next >`
+
+ 
+
+5. Select `Local computer (the computer this console is running on)` and then `Finish`
+
+ 
+
+6. Select `OK` in the `Add or Remove Snap-ins` window
+
+ 
+
+7. Expand `Console Root > Certificates (Local Computer)` in the `Console1 - [Console Root]` window
+
+ 
+
+8. Select `Trusted Root Certification Authorities` then `Right-Click` on `Certificates` and select `All Tasks > Import...`
+
+ 
+
+9. Select `Next` in the `Certificate Import Wizard` window
+
+ 
+
+10. Browse to the location of the `rootSSL.pem` file created in **Step 2** and then select `Next`.
+
+ 
+
+11. Select `Place all certificates in the following store` and ensure that `Trusted Root Certification Authorities` is the value in the `Certificate store:` field, and then select `Next`.
+
+ 
+
+12. Select `Finish`.
+
+ 
+
+## Step 4: Create a Local Domain Site
+
+1. Add `127.0.0.1 client-1.local` to your `C:\Windows\System32\drivers\etc\hosts` file.
+
+ ```hosts
+ # Copyright (c) 1993-2009 Microsoft Corp.
+ #
+ # This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
+ #
+ # This file contains the mappings of IP addresses to host names. Each
+ # entry should be kept on an individual line. The IP address should
+ # be placed in the first column followed by the corresponding host name.
+ # The IP address and the host name should be separated by at least one
+ # space.
+ #
+ # Additionally, comments (such as these) may be inserted on individual
+ # lines or following the machine name denoted by a '#' symbol.
+ #
+ # For example:
+ #
+ # 102.54.94.97 rhino.acme.com # source server
+ # 38.25.63.10 x.acme.com # x client host
+
+ # localhost name resolution is handled within DNS itself.
+ # 127.0.0.1 localhost
+ # ::1 localhost
+
+ 127.0.0.1 client-1.local
+ # End of section
+
+ ```
+
+## Step 5: Create a Private Key (`client-1.local.key`) and Certificate Request (`client-1.local.csr`) for the New Domain
+
+Execute this command ensuring the following fields are the same as the ones you used in **Step 1: Create a Private Key**:
+ * C=CA (Country)
+ * ST=Quebec (State)
+ * L=montreal (Locale)
+ * O=Unity (Organization)
+ * OU=Verticals (Business Unit)
+ * CN=Tony (Name)
+ * emailAddress=anthonyma@unity3d.com (E-Mail)
+
+```terminal
+"C:\Program Files\OpenSSL\bin\openssl.exe" req -new -sha256 -nodes -out client-1.local.csr -newkey rsa:2048 -keyout client-1.local.key -subj "/C=CA/ST=Quebec/L=montreal/O=Unity/OU=Verticals/CN=Tony/emailAddress=anthonyma@unity3d.com"
+```
+
+## Step 6: Issue the New Certificate (`client-1.local.crt`)
+
+Execute the command:
+
+```terminal
+"C:\Program Files\OpenSSL\bin\openssl.exe" x509 -req -in client-1.local.csr -CA rootSSL.pem -CAkey rootSSL.key -CAcreateserial -out client-1.local.crt -days 500 -sha256 -extensions "authorityKeyIdentifier=keyid,issuer\n basicConstraints=CA:FALSE\n keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment\n subjectAltName=DNS:client-1.local"
+```
+
+Enter the password:
+
+```terminal
+Enter pass phrase for rootSSL.key:
+```
+
+## Step 7: Run the `webserver.exe`
+
+Execute the command:
+
+```terminal
+.\webserver.exe -s -p 443 -k client-1.local.key -c client-1.local.crt
+```
\ No newline at end of file
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/access_webapp_from_browser.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/access_webapp_from_browser.png
new file mode 100644
index 0000000..ec0e847
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/access_webapp_from_browser.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/add_broadcast_component.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/add_broadcast_component.png
new file mode 100644
index 0000000..8d621cd
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/add_broadcast_component.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/add_customeventsystem_component.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/add_customeventsystem_component.png
new file mode 100644
index 0000000..52d1c71
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/add_customeventsystem_component.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/add_inputreceiver_component.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/add_inputreceiver_component.png
new file mode 100644
index 0000000..710cc38
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/add_inputreceiver_component.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/add_signalingmanager_component.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/add_signalingmanager_component.png
new file mode 100644
index 0000000..e3b49b2
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/add_signalingmanager_component.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/add_videostreamsender_component.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/add_videostreamsender_component.png
new file mode 100644
index 0000000..53725d9
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/add_videostreamsender_component.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/assign_broadcast_to_handler.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/assign_broadcast_to_handler.png
new file mode 100644
index 0000000..8bfdbc9
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/assign_broadcast_to_handler.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/assign_event_to_inputreceiver.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/assign_event_to_inputreceiver.png
new file mode 100644
index 0000000..faf3d67
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/assign_event_to_inputreceiver.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/assign_inputactions_to_inputreceiver.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/assign_inputactions_to_inputreceiver.png
new file mode 100644
index 0000000..6a25388
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/assign_inputactions_to_inputreceiver.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/assign_inputreceiver_to_streams.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/assign_inputreceiver_to_streams.png
new file mode 100644
index 0000000..2b96c13
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/assign_inputreceiver_to_streams.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/assign_videostreamsender_to_streams.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/assign_videostreamsender_to_streams.png
new file mode 100644
index 0000000..ec80f33
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/assign_videostreamsender_to_streams.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/audiostreamreceiver_inspector.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/audiostreamreceiver_inspector.png
new file mode 100644
index 0000000..1b28df3
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/audiostreamreceiver_inspector.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/audiostreamsender_inspector.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/audiostreamsender_inspector.png
new file mode 100644
index 0000000..efd3b67
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/audiostreamsender_inspector.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/broadcast_inspector.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/broadcast_inspector.png
new file mode 100644
index 0000000..a3c6c84
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/broadcast_inspector.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/broadcast_sample_signaling.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/broadcast_sample_signaling.png
new file mode 100644
index 0000000..41f557a
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/broadcast_sample_signaling.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/browser.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/browser.png
new file mode 100644
index 0000000..900a5fb
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/browser.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/browser_bidirectional_sample_startvideo.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/browser_bidirectional_sample_startvideo.png
new file mode 100644
index 0000000..702cef9
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/browser_bidirectional_sample_startvideo.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/browser_hdrpscene.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/browser_hdrpscene.png
new file mode 100644
index 0000000..e46d63d
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/browser_hdrpscene.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/browser_index_page.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/browser_index_page.png
new file mode 100644
index 0000000..c0a8b33
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/browser_index_page.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/browser_mainpage.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/browser_mainpage.png
new file mode 100644
index 0000000..4b9c645
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/browser_mainpage.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/browser_mainpage_bidirectional.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/browser_mainpage_bidirectional.png
new file mode 100644
index 0000000..8f12b9f
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/browser_mainpage_bidirectional.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/browser_videoplayer.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/browser_videoplayer.png
new file mode 100644
index 0000000..28c7361
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/browser_videoplayer.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/browser_warning_cert.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/browser_warning_cert.png
new file mode 100644
index 0000000..fefaaea
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/browser_warning_cert.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/camerastreamsender_inspector.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/camerastreamsender_inspector.png
new file mode 100644
index 0000000..0cc6007
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/camerastreamsender_inspector.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/change_device_index_on_webcamstreamer.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/change_device_index_on_webcamstreamer.png
new file mode 100644
index 0000000..974810a
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/change_device_index_on_webcamstreamer.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/change_properties_websocket.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/change_properties_websocket.png
new file mode 100644
index 0000000..7df28c3
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/change_properties_websocket.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/connect_from_browser.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/connect_from_browser.png
new file mode 100644
index 0000000..aca7bf5
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/connect_from_browser.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/control_camera_01.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/control_camera_01.png
new file mode 100644
index 0000000..d0ef18e
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/control_camera_01.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/control_camera_02.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/control_camera_02.png
new file mode 100644
index 0000000..86bb438
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/control_camera_02.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/control_camera_03.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/control_camera_03.png
new file mode 100644
index 0000000..aa7731e
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/control_camera_03.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/control_camera_04.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/control_camera_04.png
new file mode 100644
index 0000000..2cd6307
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/control_camera_04.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/control_camera_05.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/control_camera_05.png
new file mode 100644
index 0000000..1dee07e
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/control_camera_05.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/control_camera_06.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/control_camera_06.png
new file mode 100644
index 0000000..3e366f4
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/control_camera_06.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/control_camera_07.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/control_camera_07.png
new file mode 100644
index 0000000..af3bb1a
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/control_camera_07.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/create_new_scene.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/create_new_scene.png
new file mode 100644
index 0000000..f35f67a
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/create_new_scene.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/create_playercontroler_component.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/create_playercontroler_component.png
new file mode 100644
index 0000000..7d1b637
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/create_playercontroler_component.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/datareceiver_inspector.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/datareceiver_inspector.png
new file mode 100644
index 0000000..3956877
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/datareceiver_inspector.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/datasender_inspector.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/datasender_inspector.png
new file mode 100644
index 0000000..cb46738
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/datasender_inspector.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/disable_automaticstreaming.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/disable_automaticstreaming.png
new file mode 100644
index 0000000..fdeac2a
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/disable_automaticstreaming.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/download_template_package.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/download_template_package.png
new file mode 100644
index 0000000..97589ad
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/download_template_package.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/download_webapp.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/download_webapp.png
new file mode 100644
index 0000000..1e8adb2
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/download_webapp.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/enable_run_in_background.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/enable_run_in_background.png
new file mode 100644
index 0000000..41b59f4
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/enable_run_in_background.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/feature_multicamera.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/feature_multicamera.png
new file mode 100644
index 0000000..43ec149
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/feature_multicamera.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/furioos_signaling.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/furioos_signaling.png
new file mode 100644
index 0000000..5958b61
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/furioos_signaling.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/furioos_stream_type.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/furioos_stream_type.png
new file mode 100644
index 0000000..14ad3d3
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/furioos_stream_type.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/furioos_zip_folder.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/furioos_zip_folder.png
new file mode 100644
index 0000000..3035042
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/furioos_zip_folder.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/gyro_sample_signaling_url_on_inspector.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/gyro_sample_signaling_url_on_inspector.png
new file mode 100644
index 0000000..3a4b92c
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/gyro_sample_signaling_url_on_inspector.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/hdrp_sample.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/hdrp_sample.png
new file mode 100644
index 0000000..1be7615
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/hdrp_sample.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/hdrp_unitypackage.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/hdrp_unitypackage.png
new file mode 100644
index 0000000..e3b9156
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/hdrp_unitypackage.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/hdrpscene.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/hdrpscene.png
new file mode 100644
index 0000000..0d45a8e
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/hdrpscene.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_01.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_01.png
new file mode 100644
index 0000000..7854e1c
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_01.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_01_jp.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_01_jp.png
new file mode 100644
index 0000000..28a6f67
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_01_jp.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_02.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_02.png
new file mode 100644
index 0000000..40894dc
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_02.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_02_jp.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_02_jp.png
new file mode 100644
index 0000000..c615f82
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_02_jp.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_03.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_03.png
new file mode 100644
index 0000000..485b27c
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_03.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_03_jp.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_03_jp.png
new file mode 100644
index 0000000..999c0db
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_03_jp.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_04.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_04.png
new file mode 100644
index 0000000..64386ed
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_04.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_04_jp.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_04_jp.png
new file mode 100644
index 0000000..0c08c60
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_04_jp.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_05.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_05.png
new file mode 100644
index 0000000..ce09690
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_05.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_05_jp.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_05_jp.png
new file mode 100644
index 0000000..649cdce
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_05_jp.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_06.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_06.png
new file mode 100644
index 0000000..38760e3
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_06.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_06_jp.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_06_jp.png
new file mode 100644
index 0000000..301ceeb
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_06_jp.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_07.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_07.png
new file mode 100644
index 0000000..1bbe971
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_07.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_07_jp.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_07_jp.png
new file mode 100644
index 0000000..9528edd
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_07_jp.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_08.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_08.png
new file mode 100644
index 0000000..a50625b
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_08.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_08_jp.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_08_jp.png
new file mode 100644
index 0000000..df8f07f
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_08_jp.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_09.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_09.png
new file mode 100644
index 0000000..353cce0
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_09.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_09_jp.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_09_jp.png
new file mode 100644
index 0000000..1d3c00e
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_09_jp.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_10.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_10.png
new file mode 100644
index 0000000..4f77434
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_10.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_10_jp.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_10_jp.png
new file mode 100644
index 0000000..0a27fa2
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_10_jp.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_11.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_11.png
new file mode 100644
index 0000000..313aac9
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_11.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_11_jp.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_11_jp.png
new file mode 100644
index 0000000..91fea68
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_11_jp.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_12.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_12.png
new file mode 100644
index 0000000..df6bb53
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_12.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_12_jp.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_12_jp.png
new file mode 100644
index 0000000..ff1b529
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/https_step3_12_jp.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/ice-server-configuration-browser.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/ice-server-configuration-browser.png
new file mode 100644
index 0000000..277fb5c
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/ice-server-configuration-browser.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/input_standaloneinputmodule.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/input_standaloneinputmodule.png
new file mode 100644
index 0000000..d5dbad4
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/input_standaloneinputmodule.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/input_system_backend.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/input_system_backend.png
new file mode 100644
index 0000000..9dad24a
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/input_system_backend.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/inputreceiver_inspector.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/inputreceiver_inspector.png
new file mode 100644
index 0000000..7d8ab06
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/inputreceiver_inspector.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/inputsender_inspector.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/inputsender_inspector.png
new file mode 100644
index 0000000..cbe8f28
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/inputsender_inspector.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/inputsystem-version.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/inputsystem-version.png
new file mode 100644
index 0000000..c4d3d00
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/inputsystem-version.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/install_input_webrtc_git_url.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/install_input_webrtc_git_url.png
new file mode 100644
index 0000000..e51a634
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/install_input_webrtc_git_url.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/install_renderstreaming_package.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/install_renderstreaming_package.png
new file mode 100644
index 0000000..332f554
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/install_renderstreaming_package.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/install_search_renderstreaming_package.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/install_search_renderstreaming_package.png
new file mode 100644
index 0000000..8140789
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/install_search_renderstreaming_package.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/install_select_add_package_by_name.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/install_select_add_package_by_name.png
new file mode 100644
index 0000000..7c1b5df
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/install_select_add_package_by_name.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/install_select_add_package_from_git_url.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/install_select_add_package_from_git_url.png
new file mode 100644
index 0000000..d7feef4
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/install_select_add_package_from_git_url.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/install_select_packman_menu.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/install_select_packman_menu.png
new file mode 100644
index 0000000..a5118ef
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/install_select_packman_menu.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/install_select_packman_menu_unity2019.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/install_select_packman_menu_unity2019.png
new file mode 100644
index 0000000..278722f
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/install_select_packman_menu_unity2019.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/install_select_packman_menu_unity2020.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/install_select_packman_menu_unity2020.png
new file mode 100644
index 0000000..1fa5361
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/install_select_packman_menu_unity2020.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/install_select_show_preview_packages.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/install_select_show_preview_packages.png
new file mode 100644
index 0000000..6374c46
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/install_select_show_preview_packages.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/install_webrtc_package.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/install_webrtc_package.png
new file mode 100644
index 0000000..a73e642
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/install_webrtc_package.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/launch_webapp_terminal.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/launch_webapp_terminal.png
new file mode 100644
index 0000000..274fca2
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/launch_webapp_terminal.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/launch_webserver_cmd.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/launch_webserver_cmd.png
new file mode 100644
index 0000000..4db5084
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/launch_webserver_cmd.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/launch_webserver_explorer.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/launch_webserver_explorer.png
new file mode 100644
index 0000000..4332f2c
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/launch_webserver_explorer.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/launch_webserver_private_mode.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/launch_webserver_private_mode.png
new file mode 100644
index 0000000..2922b85
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/launch_webserver_private_mode.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/launch_webserver_public_mode.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/launch_webserver_public_mode.png
new file mode 100644
index 0000000..a042a92
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/launch_webserver_public_mode.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/launch_webserver_public_mode_on_windows.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/launch_webserver_public_mode_on_windows.png
new file mode 100644
index 0000000..2e021f1
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/launch_webserver_public_mode_on_windows.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/microphonesender_inspector.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/microphonesender_inspector.png
new file mode 100644
index 0000000..78aabd7
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/microphonesender_inspector.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/multitouch.gif b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/multitouch.gif
new file mode 100644
index 0000000..efe7d58
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/multitouch.gif differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/open_ar_scene.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/open_ar_scene.png
new file mode 100644
index 0000000..c3c6ac5
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/open_ar_scene.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/open_bidirectional_scene.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/open_bidirectional_scene.png
new file mode 100644
index 0000000..2e16b83
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/open_bidirectional_scene.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/open_broadcast_scene.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/open_broadcast_scene.png
new file mode 100644
index 0000000..86593f1
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/open_broadcast_scene.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/open_gyro_scene.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/open_gyro_scene.png
new file mode 100644
index 0000000..d915df7
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/open_gyro_scene.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/open_gyroscope_scene.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/open_gyroscope_scene.png
new file mode 100644
index 0000000..e702077
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/open_gyroscope_scene.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/open_multiplay_scene.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/open_multiplay_scene.png
new file mode 100644
index 0000000..3d789bf
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/open_multiplay_scene.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/open_renderpipeline_scene.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/open_renderpipeline_scene.png
new file mode 100644
index 0000000..5c70836
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/open_renderpipeline_scene.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/open_webbrowserinput_scene.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/open_webbrowserinput_scene.png
new file mode 100644
index 0000000..108c0cd
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/open_webbrowserinput_scene.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/package_renderstreaming.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/package_renderstreaming.png
new file mode 100644
index 0000000..c034fdf
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/package_renderstreaming.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/play_mode.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/play_mode.png
new file mode 100644
index 0000000..dc038b6
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/play_mode.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/play_sample_ar.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/play_sample_ar.png
new file mode 100644
index 0000000..bd69fe1
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/play_sample_ar.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/play_sample_gyro.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/play_sample_gyro.png
new file mode 100644
index 0000000..492fd6e
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/play_sample_gyro.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/play_sample_multiplay.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/play_sample_multiplay.png
new file mode 100644
index 0000000..ce6c4eb
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/play_sample_multiplay.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/play_sample_receiver.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/play_sample_receiver.png
new file mode 100644
index 0000000..cdf5077
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/play_sample_receiver.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/playersettings_arcore.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/playersettings_arcore.png
new file mode 100644
index 0000000..56cb989
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/playersettings_arcore.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/playersettings_arkit.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/playersettings_arkit.png
new file mode 100644
index 0000000..f589007
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/playersettings_arkit.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/playground_scene.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/playground_scene.png
new file mode 100644
index 0000000..763d794
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/playground_scene.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/playground_scene_virtualpad.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/playground_scene_virtualpad.png
new file mode 100644
index 0000000..17a5190
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/playground_scene_virtualpad.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/postman_example.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/postman_example.png
new file mode 100644
index 0000000..7836aea
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/postman_example.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/receiver_sample_on_browser.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/receiver_sample_on_browser.png
new file mode 100644
index 0000000..3b29565
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/receiver_sample_on_browser.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/remoteplayerinput_inspector.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/remoteplayerinput_inspector.png
new file mode 100644
index 0000000..1c0c58a
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/remoteplayerinput_inspector.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/renderstreaming_overview.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/renderstreaming_overview.png
new file mode 100644
index 0000000..2ee1403
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/renderstreaming_overview.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/renderstreaming_package.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/renderstreaming_package.png
new file mode 100644
index 0000000..ae8cce6
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/renderstreaming_package.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/renderstreaming_receivevideosample.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/renderstreaming_receivevideosample.png
new file mode 100644
index 0000000..7173d71
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/renderstreaming_receivevideosample.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/renderstreaming_samples.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/renderstreaming_samples.png
new file mode 100644
index 0000000..4efefb2
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/renderstreaming_samples.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/renderstreaming_sequence.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/renderstreaming_sequence.png
new file mode 100644
index 0000000..fbb8a86
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/renderstreaming_sequence.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/renderstreaming_settings.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/renderstreaming_settings.png
new file mode 100644
index 0000000..e8a9cca
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/renderstreaming_settings.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/renderstreaming_system_structure.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/renderstreaming_system_structure.png
new file mode 100644
index 0000000..cf1aa70
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/renderstreaming_system_structure.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/renderstreaming_wizard.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/renderstreaming_wizard.png
new file mode 100644
index 0000000..b4c9e81
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/renderstreaming_wizard.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/sample_bidirectional_camerausagedescription.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/sample_bidirectional_camerausagedescription.png
new file mode 100644
index 0000000..6968f57
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/sample_bidirectional_camerausagedescription.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/sample_bidirectional_entersameid.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/sample_bidirectional_entersameid.png
new file mode 100644
index 0000000..a94e731
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/sample_bidirectional_entersameid.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/sample_bidirectional_entersameid_browser.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/sample_bidirectional_entersameid_browser.png
new file mode 100644
index 0000000..93f61a6
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/sample_bidirectional_entersameid_browser.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/sample_bidirectional_setup.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/sample_bidirectional_setup.png
new file mode 100644
index 0000000..866775e
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/sample_bidirectional_setup.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/sample_bidirectional_streaming.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/sample_bidirectional_streaming.png
new file mode 100644
index 0000000..9bdd673
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/sample_bidirectional_streaming.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/sample_bidirectional_streaming_with_browser.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/sample_bidirectional_streaming_with_browser.png
new file mode 100644
index 0000000..d7ba109
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/sample_bidirectional_streaming_with_browser.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/sample_buildsettings.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/sample_buildsettings.png
new file mode 100644
index 0000000..e2ac04f
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/sample_buildsettings.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/sample_gyroscope_build_settings.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/sample_gyroscope_build_settings.png
new file mode 100644
index 0000000..9a98bc5
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/sample_gyroscope_build_settings.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/sample_menu.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/sample_menu.png
new file mode 100644
index 0000000..b854e1e
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/sample_menu.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/sample_menu_scene.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/sample_menu_scene.png
new file mode 100644
index 0000000..ea25650
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/sample_menu_scene.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/sample_menu_setting_panel.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/sample_menu_setting_panel.png
new file mode 100644
index 0000000..57758c3
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/sample_menu_setting_panel.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/sample_multiplay_select_host.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/sample_multiplay_select_host.png
new file mode 100644
index 0000000..67616a8
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/sample_multiplay_select_host.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/screenstreamsender_inspector.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/screenstreamsender_inspector.png
new file mode 100644
index 0000000..01e6669
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/screenstreamsender_inspector.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/select_download_folder.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/select_download_folder.png
new file mode 100644
index 0000000..b22f61d
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/select_download_folder.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/select_eventsystem_object.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/select_eventsystem_object.png
new file mode 100644
index 0000000..37ba3c9
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/select_eventsystem_object.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/select_receiver_sample_on_browser.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/select_receiver_sample_on_browser.png
new file mode 100644
index 0000000..eede13d
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/select_receiver_sample_on_browser.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/set_background_behavior.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/set_background_behavior.png
new file mode 100644
index 0000000..d5d7eff
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/set_background_behavior.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/set_playmode_input_behavior.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/set_playmode_input_behavior.png
new file mode 100644
index 0000000..d332526
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/set_playmode_input_behavior.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/show_preview_packages.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/show_preview_packages.png
new file mode 100644
index 0000000..7db7eb1
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/show_preview_packages.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/signalingmanager_inspector.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/signalingmanager_inspector.png
new file mode 100644
index 0000000..7dbb572
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/signalingmanager_inspector.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/simpleplayerinput_inspector.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/simpleplayerinput_inspector.png
new file mode 100644
index 0000000..a24177f
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/simpleplayerinput_inspector.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/simplescene.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/simplescene.png
new file mode 100644
index 0000000..50d8380
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/simplescene.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/singleconnection_inspector.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/singleconnection_inspector.png
new file mode 100644
index 0000000..1c0c58a
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/singleconnection_inspector.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/template_in_unityhub.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/template_in_unityhub.png
new file mode 100644
index 0000000..52e9ae5
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/template_in_unityhub.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/turn-connection-testing.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/turn-connection-testing.png
new file mode 100644
index 0000000..d99a389
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/turn-connection-testing.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/turn-firewall-rules.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/turn-firewall-rules.png
new file mode 100644
index 0000000..af9249e
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/turn-firewall-rules.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/turn-renderstreaming-inspector.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/turn-renderstreaming-inspector.png
new file mode 100644
index 0000000..0525cb0
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/turn-renderstreaming-inspector.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/turn-server-settings.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/turn-server-settings.png
new file mode 100644
index 0000000..b3e91bb
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/turn-server-settings.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/unityhub_createproject.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/unityhub_createproject.png
new file mode 100644
index 0000000..51573b0
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/unityhub_createproject.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/unityhub_select_template.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/unityhub_select_template.png
new file mode 100644
index 0000000..d6a5438
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/unityhub_select_template.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/videostreamreceiver_inspector.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/videostreamreceiver_inspector.png
new file mode 100644
index 0000000..3d9f70a
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/videostreamreceiver_inspector.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/videostreamsender_inspector.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/videostreamsender_inspector.png
new file mode 100644
index 0000000..a79bab6
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/videostreamsender_inspector.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/webbrowserinput_sample_signaling_url_on_inspector.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/webbrowserinput_sample_signaling_url_on_inspector.png
new file mode 100644
index 0000000..7952209
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/webbrowserinput_sample_signaling_url_on_inspector.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/webbrowserinputchannelreceiver_inspector.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/webbrowserinputchannelreceiver_inspector.png
new file mode 100644
index 0000000..0cf99ba
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/webbrowserinputchannelreceiver_inspector.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/webcamstreamsender_inspector.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/webcamstreamsender_inspector.png
new file mode 100644
index 0000000..6e7166b
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/webcamstreamsender_inspector.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/webrtc_package_manager.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/webrtc_package_manager.png
new file mode 100644
index 0000000..0084c4d
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/webrtc_package_manager.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/webserver.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/webserver.png
new file mode 100644
index 0000000..fe1e976
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/webserver.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/websocket_signaling_inspector.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/websocket_signaling_inspector.png
new file mode 100644
index 0000000..a413b7d
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/websocket_signaling_inspector.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/wizard_download_webapp.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/wizard_download_webapp.png
new file mode 100644
index 0000000..ad96793
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/wizard_download_webapp.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/wizard_fixall.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/wizard_fixall.png
new file mode 100644
index 0000000..9f8e01a
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/wizard_fixall.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/xrplugin_enable_arcore.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/xrplugin_enable_arcore.png
new file mode 100644
index 0000000..de84c1e
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/xrplugin_enable_arcore.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/xrplugin_enable_arkit.png b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/xrplugin_enable_arkit.png
new file mode 100644
index 0000000..a5c5614
Binary files /dev/null and b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/images/xrplugin_enable_arkit.png differ
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/index.md b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/index.md
new file mode 100644
index 0000000..f574d93
--- /dev/null
+++ b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/index.md
@@ -0,0 +1,67 @@
+# About Unity Render Streaming
+
+This package contains public APIs and project samples that are built on top of our **Unity Render Streaming**. We can develop a peer-to-peer streaming solution quickly by using this package.
+
+> [!Video https://www.youtube.com/embed/c2pp_T5xzeU]
+
+## Main features
+
+This package provides the main features below.
+
+- Video streaming
+- Audio streaming
+- Remote control
+
+### 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.
+
+
+
+### Audio streaming
+This package enables streaming sounds generated on Unity. And it can cast to multi-browsers simultaneously.
+
+### Remote control
+
+It's possible to send input messages to Unity from the browser, and sending inputs from multiple browsers is supported. Mouse, keyboard, touch, and gamepad are supported as input devices on the browser.
+
+## Requirements
+
+This version of Render Streaming is compatible with the following versions of the Unity Editor
+
+- **Unity 2020.3**
+- **Unity 2021.3**
+- **Unity 2022.3**
+- **Unity 2023.1**
+
+### Platform
+
+- **Windows** (x64 only)
+- **Linux**
+- **macOS** (**Intel** and **Apple Slicon**)
+- **iOS**
+- **Android** (**ARM64** only. **ARMv7** is not supported)
+
+> [!NOTE]
+> This package depends on [the WebRTC package](https://docs.unity3d.com/Packages/com.unity.webrtc@3.0). If you build for mobile platform (iOS/Android), please see [the package documentation](https://docs.unity3d.com/Packages/com.unity.webrtc@3.0/manual/requirements.html#additional-notes) to know the requirements for building.
+
+### Browser support
+
+Unity Render Streaming supports almost all browsers that can use WebRTC.
+
+| Browser | Windows | Mac | iOS | Android |
+| ------- | ------- | --- | --- | ------- |
+| Google Chrome | :white_check_mark: | :white_check_mark: | | :white_check_mark: |
+| Safari | | :white_check_mark: | :white_check_mark: | |
+| Firefox | :white_check_mark: | | | |
+| Microsoft edge (Chromium based) | :white_check_mark: | | | |
+
+> [!NOTE]
+> It may not work properly on some browsers caused by depending on the status of support about WebRTC.
+
+> [!NOTE]
+> In **Safari** and **iOS Safari**, WebRTC features cannot be used with **http**. Instead, **https** must be used.
+
+## Samples
+
+Please check [this page](samples.md).
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/overview.md b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/overview.md
new file mode 100644
index 0000000..47a51df
--- /dev/null
+++ b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/overview.md
@@ -0,0 +1,31 @@
+# Overview
+
+The following is an explanation the general concepts of the Unity Render Streaming system.
+
+## System Structure
+
+The Render Streaming system consists of the following 3 components.
+
+- **Signaling server**
+- **Peer 1 (Sender)**
+- **Peer 2 (Receiver)**
+
+
+
+In Render Streaming a P2P network is created between two peers, and this network sends video/audio/binary data. The **Web server** enables communication between two peers. This communication is called **signaling**.
+
+## The Signaling Process
+
+The following is an explanation of how signaling works.
+
+
+
+1. *Peer 1* sends **Offer SDP** to *Signaling Server*.
+2. The *Peer 2* checks the *Signaling Server* for unprocessed **Offer SDPs** and receives any found.
+3. The *Peer 2* sends **Answer SDP** to the *Signaling Server*.
+4. The *Peer 1* checks the *Signaling Server* for unprocessed **Answer SDPs** and receives any found.
+5. The *Peer 1* sends **ICE Candidate** to the *Signaling Server*.
+6. The *Peer 2* checks the *Signaling Server* for unprocessed **ICE Candidates** and receives any found.
+7. The *Peer 2* sends **ICE Candidate**to the *Signaling Server*.
+8. The *Peer 1* checks the *Signaling Server* for unprocessed **ICE Candidate** and receives any found.
+9. The connection establishment between peers are completed and *Peer 1* can send streams to the *Peer 2*.
\ No newline at end of file
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/sample-arfoundation.md b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/sample-arfoundation.md
new file mode 100644
index 0000000..b935280
--- /dev/null
+++ b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/sample-arfoundation.md
@@ -0,0 +1,67 @@
+# AR Foundation Sample
+
+This sample demonstrates operating the position and direction of a camera on another PC from the mobile device supported by [AR Foundation](https://docs.unity3d.com/Packages/com.unity.xr.arfoundation@latest).
+
+> [!NOTE]
+> If no codec is available on both sender and receiver, the video can not stream. Please note that the compatibility of codecs is different corresponding to platforms and graphics API.
+
+## Additional packages
+
+To use this sample, You need to install following additional packages.
+
+- [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]
+> Please check the item *Requirements* in the manual to know the package version which is compatible with your Unity Editor.
+
+Moreover, you need to install each *XR plugin* package depending on the platform.
+
+| Platform | packages |
+| -------- | -------- |
+| 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
+
+### iOS
+
+In case of iOS, Please enable to `Requires ARKit support` on `Player Settings`. Additionally, `Architecture` should be selected `ARM64`.
+
+
+
+Open **Project Settings** window and select **XR Plug-in Management**. Set enable `ARKit` option in iOS tab.
+
+
+
+### Android
+
+In case of Android, **Target Architectures** should be checked `ARM64`, and not checked `ARMv7`.
+
+
+
+Open **Project Settings** window and select **XR Plug-in Management**. Set enable `ARCore` option in Android tab.
+
+
+
+## Usage
+
+### Procedure
+
+1) Launch the signaling server using public mode. Please refer to [this link](webapp.md) for launching.
+
+
+
+2) Build an app in Unity Editor, and launch an application on mobile device.
+
+3) Open **Menu** scene in Unity Editor and click **Broadcast** button.
+
+
+
+4) On mobile device, configure signaling settings, and click `AR` button.
+
+
+
+5) Push the `Start` button on the device and check streaming video.
+
+
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/sample-bidirectional.md b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/sample-bidirectional.md
new file mode 100644
index 0000000..b85121a
--- /dev/null
+++ b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/sample-bidirectional.md
@@ -0,0 +1,65 @@
+# Bidirectional Sample
+
+This is a sample of bi-directional(send/receive) each other's video.
+
+It works with Unity-Unity or Unity-Browser combination.
+
+> [!NOTE]
+> If no codec is available on both sender and receiver, the video can not stream. Please note that the compatibility of codecs is different corresponding to platforms and graphics API.
+
+## Usage
+
+### Procedure (Unity-Unity)
+
+1) Launch the signaling server using **private mode**. Please refer to [this link](webapp.md) for launching.
+
+> [!NOTE]
+> This sample does not work on signaling server in public mode.
+
+
+
+2) Build an app in Unity Editor, and launch an application.
+
+3) Click `Bidirectional` button on the app.
+
+
+
+4) Build and run application. Select video/audio devices and click `StartVideo/Mic` button. Then click `SetUp` button. (**ConnectionID** is autofill.)
+
+
+
+> [!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))
+
+
+
+5) Enter same **ConnectionID** on the application in Unity Editor.
+
+
+
+6) Press the `SetUp` button in Unity Editor.
+
+7) You can see streaming video each other's. (Of course, it also works with Unity applications.)
+
+
+
+### Procedure (Unity-Browser)
+
+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.
+
+
+
+5) Enter same **ConnectionID** on the Unity Application to Browser text area.
+
+
+
+6) Click `StartVideo` button, after that click `SetUp` button in Browser.
+
+
+
+7) You can see streaming video each other's.
+
+
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/sample-broadcast.md b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/sample-broadcast.md
new file mode 100644
index 0000000..ef110d1
--- /dev/null
+++ b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/sample-broadcast.md
@@ -0,0 +1,37 @@
+# Broadcast Sample
+
+The **Broadcast** sample can stream video and audio to multi Unity applications.
+
+This sample can use in combination with other samples below.
+
+- [AR Foundation Sample](sample-arfoundation.md)
+- [Gyroscope Sample](sample-gyroscope.md)
+- [Receiver Sample](sample-receiver.md)
+
+This sample can also use in combination with browser `Receiver` sample.
+
+
+
+This sample uses build-in render pipeline. If you want to try [High-Definition Render pipeline](https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@latest) or [Universal Render Pipeline](https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@latest), please try [Render Pipeline Sample](sample-renderpipeline.md).
+
+## Usage
+
+### Procedure
+
+1) Launch the signaling server using public mode. Please refer to [this link](webapp.md) for launching.
+
+
+
+2) Build an app in Unity Editor, and launch an application.
+
+3) Click **Broadcast** scene on the app.
+
+
+
+5) Open **Menu** scene and click on the Play button in Unity Editor.
+
+6) Click `Receiver` button on the app.
+
+7) Click `Start` button.
+
+
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/sample-browserinput.md b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/sample-browserinput.md
new file mode 100644
index 0000000..7070542
--- /dev/null
+++ b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/sample-browserinput.md
@@ -0,0 +1,30 @@
+# Web Browser Input Sample
+
+This sample demonstrates to stream the video from Unity to the web browser, and operate input events on the browser as Unity events.
+
+you can see the list of supported browsers on [The Web Application](webapp.md) page.
+
+> [!NOTE]
+> This sample has the same behavior as [Broadcast](broadcast.md) sample, but only the input control method is different. For normal case, we recommend using the Broadcast sample.
+
+## Usage
+
+### Procedure
+
+1) Launch the signaling server using public mode. Please refer to [this link](webapp.md) for launching.
+
+
+
+2) Open **Menu** scene in Unity Editor, and click `WebBrowserInput` button.
+
+
+
+3) Click on the Play button in Unity Editor.
+
+4) Open your web browser and access `http://localhost`. You can see the top page. Click a `VideoPlayer Sample` link.
+
+
+
+5) You can see the Unity scene on the browser, and control a camera in the Unity scene.
+
+
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/sample-gyroscope.md b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/sample-gyroscope.md
new file mode 100644
index 0000000..20868ee
--- /dev/null
+++ b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/sample-gyroscope.md
@@ -0,0 +1,25 @@
+# Gyroscope Sample
+
+This sample shows ways to operate the direction of a camera on the remote PC from the mobile device that equipped gyro sensor.
+
+## Usage
+
+### Procedure
+
+1) Launch the signaling server using public mode. Please refer to [this link](webapp.md) for launching.
+
+
+
+2) Build an app in Unity Editor, and launch an application on mobile device.
+
+3) Open **Menu** scene in Unity Editor and click **Broadcast** button.
+
+
+
+4) On mobile device, configure signaling settings, and click **Gyro** button.
+
+
+
+5) Push the **Start** button on the device and check streaming video.
+
+
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/sample-multiplay.md b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/sample-multiplay.md
new file mode 100644
index 0000000..3dc3457
--- /dev/null
+++ b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/sample-multiplay.md
@@ -0,0 +1,29 @@
+# Multiplay Sample
+
+The `Multiplay` sample can stream video and audio to multi Unity applications. This sample works with the combination of Unity-Unity or Unity-Browser.
+
+## Usage
+
+### Procedure
+
+1) Launch the signaling server using public mode. Please refer to [this link](webapp.md) for launching.
+
+
+
+2) Build an app in Unity Editor, and launch an application.
+
+3) Click `Multiplay` button on the app.
+
+
+
+4) Select **host** option and click `Start` button.
+
+
+
+5) Click on the Play button in Unity Editor, and click `Multiplay` button.
+
+6) Select **guest** option and click `Start` button.
+
+7) Displayed same scene each screens.
+
+
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/sample-receiver.md b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/sample-receiver.md
new file mode 100644
index 0000000..d4cde8d
--- /dev/null
+++ b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/sample-receiver.md
@@ -0,0 +1,32 @@
+# Receiver Sample
+
+This sample shows that displaying a video streamed from another Unity.
+
+This sample can use in combination with the [Broadcast](sample-broadcast.md) sample.
+
+
+
+> [!NOTE]
+> If no codec is available on both sender and receiver, the video can not stream. Please note that the compatibility of codecs is different corresponding to platforms and graphics API.
+
+## Usage
+
+### Procedure
+
+This procedure is for using it with the [Broadcast](sample-broadcast.md) sample.
+
+1) Launch the signaling server using public mode. Please refer to [this link](webapp.md) for launching.
+
+
+
+2) Build an app in Unity Editor, and launch an application.
+
+3) On the Unity Editor, open **Menu** scene and click **Broadcast** button.
+
+
+
+4) Click `Receiver` button on the app.
+
+6) Click `Start` button.
+
+
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/sample-renderpipeline.md b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/sample-renderpipeline.md
new file mode 100644
index 0000000..ab6e3d1
--- /dev/null
+++ b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/sample-renderpipeline.md
@@ -0,0 +1,40 @@
+# RenderPipeline sample
+
+This samples can stream video and audio to multi Unity applications using [High-Definition Render pipeline](https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@latest) or [Universal Render Pipeline](https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@latest).
+
+This sample can use in combination with other samples below.
+
+- [AR Foundation Sample](sample-arfoundation.md)
+- [Gyroscope Sample](sample-gyroscope.md)
+- [Receiver Sample](sample-receiver.md)
+
+## Additional packages
+
+To use this sample, You need to install additional packages shown following table.
+
+
+### [High-Definition Render pipeline](https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@15.0/manual/index.html)
+
+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.
+
+### [Universal Render Pipeline](https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@15.0/manual/index.html)
+
+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.
+
+## Usage
+
+### Procedure
+
+1) Launch the signaling server using public mode. Please refer to [this link](webapp.md) for launching.
+
+
+
+2) Build an app in Unity Editor, and launch an application.
+
+3) On the Unity Editor, open **Menu** scene and click `RenderPipeline` button.
+
+4) Click `Receiver` button on the app.
+
+6) Click `Start` button.
+
+
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/samples.md b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/samples.md
new file mode 100644
index 0000000..944225e
--- /dev/null
+++ b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/samples.md
@@ -0,0 +1,56 @@
+# Samples
+
+The package contains the following samples.
+
+| Scene | Details |
+| ----- | ------- |
+| [Receiver](sample-receiver.md) | Displaying a video streaming from another Unity |
+| [Broadcast](sample-broadcast.md) | Streaming video and audio to multi Unity applications |
+| [Bidirectional](sample-bidirectional.md) | bi-directional(send/receive) each other's video |
+| [Multiplay](sample-multiplay.md) | Multi player game using video streaming |
+| [RenderPipeline](sample-renderpipeline.md) | Streaming video using HDRP or URP |
+| [AR Foundation](sample-arfoundation.md) | Controling a camera using AR Foundation |
+| [Gyroscope](sample-gyroscope.md) | Controling a camera using Gyroscope |
+| [Web Browser Input](sample-browserinput.md) | Streaming the video from Unity to the web browser |
+
+
+## Import samples in project
+You can import samples from the bottom of the `com.unity.renderstreaming` package in the **Package Manager** Window.
+
+
+
+## Build Settings
+
+It is easy to try all samples if only you put sample scenes into `Scenes in Build` in **Build Settings** Window. **Menu** scene should be loaded as a first one so you need to rearrange scenes.
+
+
+
+## Sample menu
+
+**Menu** scene is helpful for checking multiple sample scenes. You can find the scene `Example/Menu/Menu.scene`.
+
+
+
+Open **Menu** scene and press `Play` button, as you can see the menu for sample scenes.
+
+
+
+You can change signaling settings below during runtime.
+
+| Parameter | Description |
+| --- | --- |
+| **Use Default Settings** | Refer to settings of [Project Settings](settings.md). |
+| [**Signaling Type**](signaling-type.md) | *Http* or *WebSocket*. |
+| **Enable/Disable SSL** | Use **https** if set enable. |
+| **Host Address** | Set IP address or URL of your signaling server. |
+| **Interval (msec)** | Polling interval for communication of signaling. This parameter effects Http signaling. |
+
+
+
+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/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/settings.md b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/settings.md
new file mode 100644
index 0000000..28eb62d
--- /dev/null
+++ b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/settings.md
@@ -0,0 +1,30 @@
+# Render Streaming Settings
+
+Unity Render Streaming saves configuration assets to the project. The configuration asset are created in the Render Streaming panel of the Project Settings Window. If your project contains more than one configuration asset, select the asset in the Render Streaming Settings section.
+
+
+
+## General Settings
+
+| Parameter | Description | Default |
+| ---- | ---- | ---- |
+| **Automatic Streaming** | Automatically performs the necessary setup for streaming and starts streaming. | Enabled |
+
+### Behaviour of the Automatic Streaming flag
+
+If the **Automatic Streaming** flag is turned on, the application will automatically set up for streaming when it's started. This initialization process takes place before calling the **MonoBehaviour.Start** method on the scene. When streaming starts, the screen on the game view and the audio played by the **AudioListener** are delivered. It also receives mouse and keyboard input from the client and is configured to work with the Input System.
+
+Streaming continues even when moving between scenes. If you want to stop streaming, turn the **Automatic Streaming** flag off.
+
+## Signaling Settings
+
+| Parameter | Description | Default |
+| ---- | ---- | ---- |
+| **Signaling Type** | Choose the signaling type (See [About Signaling Type](signaling-type.md)). | websocket |
+| **Signaling Server URL** | Set the signaling server URL. If you use WebSocket as a signaling protocol, you should specify a URL starting with **ws** or **wss**. | ws://127.0.0.1 |
+| **ICE Server** | Set a list of STUN/TURN servers. (See [TURN Server](turnserver.md)) | |
+| **URLs** | Set URLs of STUN/TURN servers. | [stun:stun.l.google.com:19302\] |
+| **Username** | The username to use when logging into the TURN server. | |
+| **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 |
+| **Polling Interval** | Set the polling frequency (in milliseconds) to the signaling server Valid only if you are using Http as the signaling protocol. | 5000 (msec) |
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/signaling-type.md b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/signaling-type.md
new file mode 100644
index 0000000..90ebf7e
--- /dev/null
+++ b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/signaling-type.md
@@ -0,0 +1,33 @@
+# About Signaling Type
+
+**The Unity Render Streaming** package provides three different signaling types as examples.
+
+- `Http Signaling`
+- `WebSocket Signaling`
+
+In the example, the schema given to `URL Signaling` is used to determine which type to use.
+
+
+
+If it starts with `http`, `Http Signaling` is used. If it starts with `ws`, `WebSocket Signaling` is used.
+
+```
+# launch server for WebSocket
+webserver.exe
+
+# launch server for HTTP
+webserver.exe -t http
+```
+
+## `Http Signaling`
+
+Signaling is handled by HTTP Request.
+The signalling server is polled at specified intervals to obtain the Offer and Candidate of the difference from the last time.
+
+## `WebSocket Signaling`
+
+Signaling is handled by WebSocket.
+When the signaling server receives the Offer or Candidate, the server distributes it to the connected clients.
+> [!WARNING]
+> WebSocket does not work in iOS Safari on servers that use self-signed certificates.
+> If you want to verify the behavior of WebSocket signaling in iOS Safari, use a certificate issued by a trusted certification authority. Or try signaling with HTTP.
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/streaming-management.md b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/streaming-management.md
new file mode 100644
index 0000000..cfe3f6e
--- /dev/null
+++ b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/streaming-management.md
@@ -0,0 +1,55 @@
+# 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.
+
+## [`SignalingManager`](../api/Unity.RenderStreaming.SignalingManager.html) component reference
+
+**SignalingManager** includes the following features.
+
+- Communication with signaling servers
+- Streaming input from cameras
+- Associating browser input with events
+
+
+
+### Properties
+
+| Parameter | Description | Default |
+| ---- | ---- | ---- |
+| **Use Default Settings in Project Settings** | Use settings in [Project Settings Window](settings.md). | Enabled |
+| **Signaling Settings Asset** | Choose the signaling settings. | |
+| **Signaling Type** | Choose the signaling type (See [About Signaling Type](signaling-type.md)). | websocket |
+| **URL** | Set the signaling server URL. If you use WebSocket as a signaling protocol, you should specify a URL starting with **ws** or **wss**. | ws://127.0.0.1 |
+| **Ice Servers** | Set a list of STUN/TURN servers. (See [TURN Server](turnserver.md)) | |
+| *Urls* | Set URLs of STUN/TURN servers. | `[stun:stun.l.google.com:19302\]` |
+| *Username* | The username to use when logging into the TURN server. | |
+| *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** |
+| **Polling Interval** | Set the polling frequency (in milliseconds) to the signaling server Valid only if you are using Http as the signaling protocol. | 5000 (msec) |
+| **Run On Awake** | Automatically started when called `Awake` method. | Enabled |
+| **Evaluate Command Line Arguments** | Evaluate [command line arguments](commandline-option.md). | Enabled |
+| **Signlaing Handler List** | List of handlers of signaling process. | |
+
+## [`SingleConnection`](../api/Unity.RenderStreaming.SingleConnection.html) component reference
+
+This component lists components that stream media or data via a single peer connection.
+
+
+
+### Properties
+
+| Parameter | Description | Default |
+| --------- | ----------- | ------- |
+| **Streams** | List of streams | [] |
+
+## [`Broadcast`](../api/Unity.RenderStreaming.SingleConnection.html) component reference
+
+This component lists components that stream media or data via multiple peer connections.
+
+
+
+### Properties
+
+| Parameter | Description | Default |
+| --------- | ----------- | ------- |
+| **Streams** | List of streams | [] |
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/turnserver.md b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/turnserver.md
new file mode 100644
index 0000000..71117f0
--- /dev/null
+++ b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/turnserver.md
@@ -0,0 +1,111 @@
+# Setting for TURN Servers
+
+If streaming is not functioning correctly in Unity Render Streaming, consult the [troubleshooting guide](faq.md).
+If you are experiencing firewall issues, you may need to change your firewall settings or use a **TURN server**.
+
+**TURN(Traversal Using Relay around NAT)** is a communication protocol for transmitting across NAT and firewalls. A **TURN server** must be set up on the outside of the NAT in order to use TURN.
+
+This document covers the process of linking Unity Render Streaming to a TURN server.
+
+## Instance settings
+
+[coturn](https://github.com/coturn/coturn) software is an open source implementation for TURN servers.
+The following is an explanation for running coturn on a GCP instance.
+
+**ubuntu-minimal-1604-xenial-v20190628** is used in the instance image so that the `apt` command can be used to install coturn. If the distribution is supported by coturn, there shouldn't be any issues. See the [coturn documentation](https://github.com/coturn/coturn) for details on coturn.
+
+### Firewall rules settings
+
+The port used by the TURN server needs to be public, so add the following settings to the firewall.
+
+| Protocol | PORT |
+| -------- | ---------------------- |
+| TCP | 32355-65535, 3478-3479 |
+| UDP | 32355-65535, 3478-3479 |
+
+
+
+### Installing coturn
+
+Log into the GCP instance with `ssh`.
+Install `coturn`.
+
+```shell
+sudo apt install coturn
+```
+
+Change the settings for booting with a daemon to use coturn as a TURN server.
+Edit the following file.
+
+```shell
+sudo vim /etc/default/coturn
+```
+
+Add the following line.
+
+```
+TURNSERVER_ENABLED=1
+```
+
+Next, edit the coturn settings file.
+
+```shell
+sudo vim /etc/turnserver.conf
+```
+
+Remove the comments from the following lines, and add any necessary information.
+
+```shell
+# The TURN server IP address to be sent to external peers
+external-ip=10.140.0.4
+
+# Validate credentials
+lt-cred-mech
+
+# Designate username and password
+user=username:password
+
+# Realm settings
+realm=yourcompany.com
+
+# Log file settings
+log-file=/var/tmp/turn.log
+```
+
+When finished, restart the coturn service.
+
+```shell
+sudo systemctl restart coturn
+```
+
+### Connection verification
+
+After completing the coturn settings, check the log to verify that the TURN server is function correctly.
+
+```
+tail -f /var/tmp/turn_xxxx-xx-xx.log
+```
+
+Use the [webrtc sample](https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/) to connect to the TURN server. Use the following settings and click `Add Server`.
+
+| Parameter | Example |
+| ---------------- | ------------------------------------- |
+| STUN or TURN URI | `turn:xx.xx.xx.xx:3478?transport=tcp` |
+| TURN username | username |
+| TURN password | password |
+
+
+
+Click `Gather candidates` to show a list of potential communication paths. Verify that a log is also printed on the TURN server side.
+
+### Browser side changes
+
+Start the web server, access the site, and add the TURN server settings to each of the ICE servers as follows:
+
+
+
+### Unity side changes
+
+Open the Project Settings window and add the URL of the TURN server to the Render Streaming settings as shown below.
+
+
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/tutorial.md b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/tutorial.md
new file mode 100644
index 0000000..5c4eaf1
--- /dev/null
+++ b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/tutorial.md
@@ -0,0 +1,110 @@
+# Tutorial
+
+This page describes how to create a scene that uses Unity Render Streaming, and introduces you to key features that help you produce the 3D contents works on browsers via streaming.
+
+## Before you begin
+
+- Please read the [Requirements](index.md#requirements) to understand the limitation.
+- This tutorial uses **localhost** and port **80** for the signaling server. Please read [Signaling Settings](settings.md#signaling-settings) page if you want to change the address and port number.
+
+## Creating a Unity project from the Template
+
+1: Open the Unity Hub.
+
+2: Go to **Projects**, and select **New Project**.
+
+
+
+3: Open the **Core** tab and select **Third Person**.
+
+
+
+4: Enter a **Project name**.
+
+5: Select **Create Project**.
+
+Unity creates a project, and after Unity opens the Template Project, you can see the **Playground** scene.
+
+
+
+This template is designed to work on many platforms, so it is an good starting point for projects aiming for streaming. If you want to achieve a high-end graphics, we recommend using the HDRP sample templates.
+
+## Unity Render Streaming setup
+
+1: Select **Window > Package Manager** in the menu bar.
+
+
+
+2: Check Package Manager window, Click **+** button and select **Add package by name**. If you use Unity 2020.3, select **Add package from git URL**.
+
+
+
+3: Input the string below to the input field.
+
+```
+com.unity.renderstreaming
+```
+
+4: The **Render Streaming Wizard** window is opened automatically after installing the package. Select **Fix All**.
+
+
+
+5: Select **Play** on Unity Editor.
+
+## Launch web app
+
+1: Select **Download latest version web app** on the Render Streaming Wizard window.
+
+
+
+2: Launch the app.
+
+It is succeeded if you can see logs in the console like below.
+
+
+
+## Connect from browser
+
+1: Launch the browser. Please see the supported browsers list in the [Requirements](index.md) page.
+
+2: Go to **http://127.0.0.1** on the browser.
+
+3: Select **Receiver Sample**.
+
+
+
+4: Select **Play**.
+
+You can see the game view on the browser, and the mouse and keyboard input effects the game view.
+
+
+
+## Connect from mobile browser
+
+1: This project contains virtual gamepad. Please select **UI_Canvas_StarterAssetsInputs_Joysticks** in Hierarchy window, and set active.
+
+You can see the gamepad in Game View.
+
+
+
+2: When connecting from a mobile browser, the SSL certificate must be enabled on the signaling server. Please see [this page](https.md).
+
+3: Start the signaling server using the created certificate. Please see the options of web server [here](webapp.md)
+
+4: Set the new **URL** of the web server to Signaling Settings in Project Settings window.
+
+5: Select **Play** on the Unity Editor.
+
+6: Access the web page from the mobile browser.
+
+You don't mind it if you see the warning page like below.
+
+
+
+7: Select **Receiver Sample**.
+
+You can see the game view on the mobile browser.
+
+## Next Step
+
+This tutorial explained an example using the Unity Project created from a template, and manipulating the character in 3D game from web browsers. An another example, developers can do the same by setting up some components on the scene. Please see [this page](dev-streaming-app-intro.md). This method allows for more detailed customization.
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/video-streaming.md b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/video-streaming.md
new file mode 100644
index 0000000..562f842
--- /dev/null
+++ b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/video-streaming.md
@@ -0,0 +1,77 @@
+# Video Streaming Component
+
+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.
+
+You can set a specific object for the video source to play on, including:
+
+- 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
+
+## [`VideoStreamSender`](../api/Unity.RenderStreaming.VideoStreamSender.html) component reference
+
+
+
+### Properties
+
+| Property | Function | Default |
+| --------- | ----------- | ------- |
+| **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
+
+
+
+### Properties
+
+| Parameter | Description | Default |
+| --------- | ----------- | ------- |
+| **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 |
+
+## Details
+
+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.
+
+### Video Codec
+
+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.
+
+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]
+> 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.
+
+
+> [!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
+
+Sets the frame rate of the streaming video. You should set the *frame rate* below the game's *frame rate*.
+
+### 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.
+
+### Bit rate
+
+Controls the bandwidth used by specifying a *bit rate* limit for streaming.
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/webapp.md b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/webapp.md
new file mode 100644
index 0000000..fe6df1a
--- /dev/null
+++ b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/webapp.md
@@ -0,0 +1,79 @@
+# Web Application
+
+The **Web application**
+
+- handles signaling between Unity and the Web browser
+- is the location of the Web page
+
+The web application uses WebRTC technologies, which means that your browser must also support WebRTC. You can see a table of supported browsers [here](index.md#web-browsers-support).
+
+> [!NOTE]
+> See [this page](https://caniuse.com/#search=webrtc) for details on which browsers support WebRTC.
+
+
+## Lanching The Server
+
+You can get a executable file of web server from the **Wizard Window**.
+
+1. Select **Window > Render Streaming > Render Streaming Wizard** in the menu bar.
+
+2. Select **Download latest version web app**.
+
+
+
+3. Run it from the command line.
+
+
+
+## Command Options
+
+| Option | Details | Default |
+| ------ | ------- | ------- |
+| `-h` `--help` | Show the help menu | |
+| `-p` `—port \` | Set the port number | `80` |
+| `-s` `--secure` | Use https | |
+| `-k` `—keyfile \` | Designate the private key file to use with https | `server.key` |
+| `-c` `—certfile \` | Designate the certification file to use with https | `server.cert` |
+| `-t` `--type \` | Type of signaling protocol, Choose websocket or http | `websocket` |
+| `-m` `—-mode \` | Choose Communication mode public or private | `public` |
+| `-l` `—logging \` | Choose http logging type (use [morgan](https://www.npmjs.com/package/morgan) library) | `dev` |
+
+## Command Examples
+
+Use the following command to start the server as http. Port `80` will be used.
+
+```shell
+.\webserver
+```
+
+This command will run the server as https. Port 443 will be used. A certificate (`server.cert`) and a key (`server.key`) must also be set up ([details](https.md)).
+
+```shell
+.\webserver -s -p 443
+```
+
+The command will run in the mode that uses **HTTP polling** as the signaling protocol.
+
+```shell
+.\webserver -t http
+```
+
+The command will run in private mode.
+
+```shell
+.\webserver -m private
+```
+> [!NOTE]
+> In private mode, Signaling only using same `ConnectionId` between peers.
+
+
+When running a https server, keep in mind to set the `URL signaling` property of the Renderstreaming component in Unity to https as well.
+Use this command to display the help guide.
+
+```shell
+.\webserver -h
+```
+
+## How to custmize web application
+
+Please see the page [Customize Web Application](customize-webapp.md).
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/wizard.md b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/wizard.md
new file mode 100644
index 0000000..ee395ab
--- /dev/null
+++ b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Documentation~/wizard.md
@@ -0,0 +1,44 @@
+# Unity Render Streaming Wizard
+
+Unity Render Streaming includes the **Render Streaming Wizard** to help you configure your Unity Project so that it's compatible with Unity Render Streaming.
+
+To open **Render Streaming Wizard**, go to **Window > Render Streaming** and select **Render Streaming Wizard**.
+
+
+
+## Unity Render Streaming Version
+
+At the top of the window, you can see the version of the Unity Render Streaming package installed in your Unity Project. The **Check Update** button provides a shortcut to the Package Manager window.
+
+## Configuration Checking
+
+Your Unity Project must adhere to all the configuration tests in this section for Unty Render Streaming to work correctly. If a test fails, a message explains the issue and you can click a button to fix it. This helps you quickly fix any major issues with your Unity Project.
+
+### Playmode Settings
+
+| Configuration Option | Description |
+| --- | ---- |
+| **Run In Background** | Check to make sure **Run In Background** is enabled in the Player Settings. This value is needed to continue processing user input even when losting the focus from the Unity application. (menu: **Edit > Project Settings > Player**) Press the **Fix** button to enable **Run In Background**. |
+| **InputSystem Background Behavior** | Check to make sure **Background Bahavior** is set to a **Ignore Focus** in Input System. This value is needed to continue processing user input even when losting the focus from the Unity application. (menu: **Edit > Project Settings > Input System**) Press the **Fix** button to set **Background Bahavior** to **Ignore Focus**. |
+| **InputSystem PlayMode Input Behavior** | Check to make sure **PlayMode Input Bahavior** is set to a **All Device Input Always Goes To Game View** in Input System. This value is needed to continue processing user input even when losting the focus from the Unity Editor. (menu: **Edit > Project Settings > Input System**) Press the **Fix** button to set **PlayMode Input Bahavior** to **All Device Input Always Goes To Game View**. |
+
+### Build Settings
+
+| Configuration Option | Description |
+| --- | ---- |
+| **Current Build Target Platform** | Checks the platform of the **Build Target** is supported by Unity Render Streaming. Press the **Fix** button to change the **Build Target** to the supported platform. |
+| **Current Graphics API** | Checks the **Graphics API** is supported by Unity Render Streaming. Press the **Fix** button to change the **Graphics API** to the supported graphics APIs. |
+| **macOS Camera Usage Description** | Check **Camera Usage Description** for macOS platform in the Player Settings. This value is needed to use Web Camera as a video source in the [Video Stream Sender component](video-streaming.md). Press the **Fix** button to set **Camera Usage Description** to `For using WebCam`. |
+| **macOS Microphone Usage Description** | Check **Microphone Usage Description** for macOS platform in the Player Settings. This value is needed to use Microphone as a audio source in the [Audio Stream Sender component](audio-streaming.md). Press the **Fix** button to set **Microphone Usage Description** to `For using Microphone`. |
+| **iOS Camera Usage Description** | Check **Camera Usage Description** for iOS platform in the Player Settings. This value is needed to use Web Camera as a video source in the [Video Stream Sender component](video-streaming.md). Press the **Fix** button to set **Camera Usage Description** to `For using WebCam`. |
+| **iOS Microphone Usage Description** | Check **Microphone Usage Description** for iOS platform in the Player Settings. This value is needed to use Microphone as a audio source in the [Audio Stream Sender component](audio-streaming.md). Press the **Fix** button to set **Microphone Usage Description** to `For using Microphone`. |
+| **Android Minimum API Level** | Check **Minimum API Level** for Android platform in Player Settings. Press the **Fix** button to set **Minimum API Level** to **Level24**. |
+| **Android Script Backend** | Check **Scripting Backend** for Android platform in Player Settings. Unity Render Streaming only supports **IL2CPP** for Android platform. Press the **Fix** button to set **Scripting Backend** to **IL2CPP**.
+| **Android Target Architecture** | Check **Target Architecture** for Android platform in Player Settings. Unity Render Streaming only supports **ARM64** for Android platform. Press the **Fix** button to set **Target Architecture** to **ARM64**. |
+| **Android Internet Access** | Check **Internet Access** for Android platform in Player Settings. Unity Render Streaming only supports **Required** for Android platform. Press the **Fix** button to set **Internet Access** to **Required**. |
+
+## WebApp
+
+- **Download latest version web app**: Download web application to the specified folder.
+- **Show web app documentation**: Open the web page places documentation for web application.
+- **Show web app source code**: Open the web page places source code for web application.
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Editor.meta b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Editor.meta
new file mode 100644
index 0000000..bdc929c
--- /dev/null
+++ b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Editor.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: ed6ff738aef659f448a95e472c801c1d
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Editor/AssemblyInfo.cs b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Editor/AssemblyInfo.cs
new file mode 100644
index 0000000..eb0e4c0
--- /dev/null
+++ b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Editor/AssemblyInfo.cs
@@ -0,0 +1,4 @@
+using System.Runtime.CompilerServices;
+
+[assembly: InternalsVisibleTo("Unity.RenderStreaming.RuntimeTests")]
+[assembly: InternalsVisibleTo("Unity.RenderStreaming.EditorTests")]
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Editor/AssemblyInfo.cs.meta b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Editor/AssemblyInfo.cs.meta
new file mode 100644
index 0000000..bb7d4f3
--- /dev/null
+++ b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Editor/AssemblyInfo.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 51b6d195a2da5494bb8dbe2f48175145
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Editor/AudioStreamReceiverEditor.cs b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Editor/AudioStreamReceiverEditor.cs
new file mode 100644
index 0000000..b84bbd6
--- /dev/null
+++ b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Editor/AudioStreamReceiverEditor.cs
@@ -0,0 +1,51 @@
+#if UNITY_EDITOR
+using UnityEditor;
+using UnityEngine;
+
+namespace Unity.RenderStreaming.Editor
+{
+ [CustomEditor(typeof(AudioStreamReceiver))]
+ [CanEditMultipleObjects]
+ internal class AudioStreamSenderReceiver : UnityEditor.Editor
+ {
+ class Styles
+ {
+ }
+
+ static Styles s_Styles;
+
+ SerializedProperty m_codec;
+ SerializedProperty m_targetAudioSource;
+
+ void OnEnable()
+ {
+ m_codec = serializedObject.FindProperty(AudioStreamReceiver.CodecPropertyName);
+ m_targetAudioSource = serializedObject.FindProperty(AudioStreamReceiver.TargetAudioSourcePropertyName);
+ }
+
+ void OnDisable()
+ {
+ }
+
+
+ public override void OnInspectorGUI()
+ {
+ if (s_Styles == null)
+ s_Styles = new Styles();
+
+ serializedObject.Update();
+
+ bool disableEditMediaSource = Application.isPlaying;
+
+ /// todo(kazuki): Make available to change video source parameters in runtime.
+ using (new EditorGUI.DisabledScope(disableEditMediaSource))
+ {
+ EditorGUILayout.PropertyField(m_targetAudioSource);
+ EditorGUILayout.Space();
+ EditorGUILayout.PropertyField(m_codec);
+ }
+ serializedObject.ApplyModifiedProperties();
+ }
+ }
+}
+#endif
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Editor/AudioStreamReceiverEditor.cs.meta b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Editor/AudioStreamReceiverEditor.cs.meta
new file mode 100644
index 0000000..c83ba9b
--- /dev/null
+++ b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Editor/AudioStreamReceiverEditor.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 2679fbb56f5d4c54e899ec97da05020c
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Editor/AudioStreamSenderEditor.cs b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Editor/AudioStreamSenderEditor.cs
new file mode 100644
index 0000000..7084862
--- /dev/null
+++ b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Editor/AudioStreamSenderEditor.cs
@@ -0,0 +1,118 @@
+#if UNITY_EDITOR
+using System;
+using UnityEditor;
+using UnityEditor.AnimatedValues;
+using UnityEngine;
+
+namespace Unity.RenderStreaming.Editor
+{
+ [CustomEditor(typeof(AudioStreamSender))]
+ [CanEditMultipleObjects]
+ internal class AudioStreamSenderEditor : UnityEditor.Editor
+ {
+ class Styles
+ {
+ public readonly GUIContent sourceContent =
+ EditorGUIUtility.TrTextContent("Audio Source Type", "Type of source the audio will be streamed.");
+ public readonly GUIContent bitrateContent =
+ EditorGUIUtility.TrTextContent("Bitrate (kbits/sec)", "A range of bitrate of audio streaming.");
+ }
+
+ static Styles s_Styles;
+
+ SerializedProperty m_source;
+ SerializedProperty m_codec;
+ SerializedProperty m_audioSource;
+ SerializedProperty m_audioListener;
+ SerializedProperty m_microphoneDeviceIndex;
+ SerializedProperty m_autoRequestUserAuthorization;
+ SerializedProperty m_loopback;
+ SerializedProperty m_bitrate;
+
+ static AnimBool[] m_sourceFade;
+
+ void OnEnable()
+ {
+ m_source = serializedObject.FindProperty(AudioStreamSender.SourcePropertyName);
+ m_audioSource = serializedObject.FindProperty(AudioStreamSender.AudioSourcePropertyName);
+ m_audioListener = serializedObject.FindProperty(AudioStreamSender.AudioListenerPropertyName);
+ m_microphoneDeviceIndex = serializedObject.FindProperty(AudioStreamSender.MicrophoneDeviceIndexPropertyName);
+ m_autoRequestUserAuthorization = serializedObject.FindProperty(AudioStreamSender.AutoRequestUserAuthorizationPropertyName);
+ m_codec = serializedObject.FindProperty(AudioStreamSender.CodecPropertyName);
+ m_bitrate = serializedObject.FindProperty(AudioStreamSender.BitratePropertyName);
+ m_loopback = serializedObject.FindProperty(AudioStreamSender.LoopbackPropertyName);
+
+ if (m_sourceFade == null)
+ {
+ m_sourceFade = new AnimBool[Enum.GetValues(typeof(AudioStreamSource)).Length];
+ for (int i = 0; i < m_sourceFade.Length; i++)
+ m_sourceFade[i] = new AnimBool(i == m_source.intValue);
+ }
+ Array.ForEach(m_sourceFade, anim => anim.valueChanged.AddListener(Repaint));
+ }
+
+ void OnDisable()
+ {
+ Array.ForEach(m_sourceFade, anim => anim.valueChanged.RemoveListener(Repaint));
+ }
+
+
+ public override void OnInspectorGUI()
+ {
+ if (s_Styles == null)
+ s_Styles = new Styles();
+
+ serializedObject.Update();
+
+ bool disableEditMediaSource = Application.isPlaying;
+
+ /// todo(kazuki): Make available to change video source parameters in runtime.
+ using (new EditorGUI.DisabledScope(disableEditMediaSource))
+ {
+ EditorGUILayout.PropertyField(m_source, s_Styles.sourceContent);
+ HandleSourceField();
+
+ EditorGUILayout.Space();
+ EditorGUILayout.PropertyField(m_codec);
+ }
+
+ EditorGUILayout.Space();
+ EditorGUILayout.PropertyField(m_loopback);
+ if (target is AudioStreamSender sender && sender.isPlaying)
+ {
+ sender.loopback = m_loopback.boolValue;
+ }
+
+ EditorGUILayout.Space();
+ EditorGUILayout.PropertyField(m_bitrate, s_Styles.bitrateContent);
+
+ serializedObject.ApplyModifiedProperties();
+ }
+
+ private void HandleSourceField()
+ {
+ for (var i = 0; i < m_sourceFade.Length; i++)
+ m_sourceFade[i].target = m_source.intValue == i;
+
+ if (EditorGUILayout.BeginFadeGroup(m_sourceFade[(int)AudioStreamSource.AudioListener].faded))
+ {
+ EditorGUILayout.PropertyField(m_audioListener);
+ }
+ EditorGUILayout.EndFadeGroup();
+
+ if (EditorGUILayout.BeginFadeGroup(m_sourceFade[(int)AudioStreamSource.AudioSource].faded))
+ {
+ EditorGUILayout.PropertyField(m_audioSource);
+ }
+ EditorGUILayout.EndFadeGroup();
+
+ if (EditorGUILayout.BeginFadeGroup(m_sourceFade[(int)AudioStreamSource.Microphone].faded))
+ {
+ EditorGUILayout.PropertyField(m_microphoneDeviceIndex);
+ EditorGUILayout.PropertyField(m_autoRequestUserAuthorization);
+ }
+ EditorGUILayout.EndFadeGroup();
+ }
+ }
+}
+#endif
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Editor/AudioStreamSenderEditor.cs.meta b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Editor/AudioStreamSenderEditor.cs.meta
new file mode 100644
index 0000000..3f769b1
--- /dev/null
+++ b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Editor/AudioStreamSenderEditor.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: b433d165a107ad4438aa0059df73df1b
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Packages/com.unity.renderstreaming@3.1.0-exp.9/Editor/ConfigInfoLine.cs b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Editor/ConfigInfoLine.cs
new file mode 100644
index 0000000..da3eba3
--- /dev/null
+++ b/Packages/com.unity.renderstreaming@3.1.0-exp.9/Editor/ConfigInfoLine.cs
@@ -0,0 +1,111 @@
+using System;
+using UnityEditor;
+using UnityEngine;
+using UnityEngine.UIElements;
+
+namespace Unity.RenderStreaming.Editor
+{
+ internal class ConfigInfoLine : VisualElement
+ {
+ static class Style
+ {
+ const string k_IconFolder = "Packages/com.unity.renderstreaming/Editor/Icon/";
+ public static readonly Texture ok = EditorGUIUtility.Load(k_IconFolder + "OK.png") as Texture;
+ public static readonly Texture error = EditorGUIUtility.Load(k_IconFolder + "Error.png") as Texture;
+ }
+
+ private readonly bool m_visibleStatus;
+ private readonly bool m_skipErrorIcon;
+ private Func m_tester;
+ private Func m_dependTester;
+ private bool m_haveFixer;
+ private bool m_currentStatus;
+ private bool m_dependStatus;
+
+ public ConfigInfoLine(
+ string label,
+ string error,
+ MessageType messageType,
+ string resolverButtonLabel,
+ Func tester,
+ Action resolver,
+ Func dependTester = null,
+ bool visibleStatus = true,
+ bool skipErrorIcon = false
+ )
+ {
+ m_visibleStatus = visibleStatus;
+ m_skipErrorIcon = skipErrorIcon;
+ m_tester = tester;
+ m_haveFixer = resolver != null;
+ m_dependTester = dependTester;
+
+ var testLabel = new Label(label) { name = "testLabel" };
+ var fixer = new Button(resolver) { text = resolverButtonLabel, name = "resolver" };
+ var testRow = new VisualElement() { name = "testRow" };
+ testRow.Add(testLabel);
+ if (m_visibleStatus)
+ {
+ var statusOk = new Image { image = Style.ok, name = "statusOK" };
+ var statusError = new Image { image = Style.error, name = "statusError" };
+ testRow.Add(statusOk);
+ testRow.Add(statusError);
+ }
+
+ testRow.Add(fixer);
+
+ Add(testRow);
+ HelpBoxMessageType kind;
+ switch (messageType)
+ {
+ default:
+ case MessageType.None:
+ kind = HelpBoxMessageType.None;
+ break;
+ case MessageType.Error:
+ kind = HelpBoxMessageType.Error;
+ break;
+ case MessageType.Warning:
+ kind = HelpBoxMessageType.Warning;
+ break;
+ case MessageType.Info:
+ kind = HelpBoxMessageType.Info;
+ break;
+ }
+
+ Add(new HelpBox(error, kind));
+
+ UpdateDisplay(m_currentStatus, m_haveFixer, m_dependStatus);
+ }
+
+ public void CheckUpdate()
+ {
+ bool wellConfigured = m_tester();
+ bool wellDependConfigured = m_dependTester == null || m_dependTester();
+ bool changeConfigured = wellConfigured ^ m_currentStatus;
+ bool changeDependConfigured = wellDependConfigured ^ m_dependStatus;
+ if (changeConfigured || changeDependConfigured)
+ {
+ UpdateDisplay(wellConfigured, m_haveFixer, wellDependConfigured);
+ m_currentStatus = wellConfigured;
+ m_dependStatus = wellDependConfigured;
+ }
+ }
+
+ private void UpdateDisplay(bool statusOK, bool haveFixer, bool dependStatusOK)
+ {
+ if (m_visibleStatus)
+ {
+ this.Q(name: "statusOK").style.display = statusOK ? DisplayStyle.Flex : DisplayStyle.None;
+ this.Q(name: "statusError").style.display = !statusOK
+ ? (m_skipErrorIcon ? DisplayStyle.None : DisplayStyle.Flex)
+ : DisplayStyle.None;
+ }
+
+ var resolver = this.Q