Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
## [3.1.0-exp.1] - 2021-05-28

### Added

- Android platform support
  • Loading branch information
Unity Technologies committed May 28, 2021
1 parent 814fab7 commit aacf8f7
Show file tree
Hide file tree
Showing 88 changed files with 15,838 additions and 1,439 deletions.
44 changes: 25 additions & 19 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,13 @@ All notable changes to com.unity.renderstreaming package will be documented in t
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.0.1] - 2021-03-04
## [3.1.0-exp.1] - 2021-05-28

### Added

- Android platform support

## [3.0.1-preview] - 2021-03-04

### Fixed

Expand All @@ -14,7 +20,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.

- `Camerastreamer` uses a `TargetTexture` on the `Camera` component if the `RenderTexture` is attached on the `Camera`.

## [3.0.0] - 2021-03-02
## [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.

Expand All @@ -30,13 +36,13 @@ Version 3.0.0 has a big change in the package design. This mainly addresses movi
- Moved scripts from the sample folder to Package Manager.
- Upgrading WebRTC package to `2.3.3-preview`.

## [2.2.2] - 2020-12-15
## [2.2.2-preview] - 2020-12-15

### Changed

- Updated unitypackage files of the package samples

## [2.2.1] - 2020-11-19
## [2.2.1-preview] - 2020-11-19

### Added

Expand All @@ -52,22 +58,22 @@ Version 3.0.0 has a big change in the package design. This mainly addresses movi
- Fixed `NullPointerException` occurred when `UIController` instance is not attached `SimpleCameraController` component
- Fixed behavior of the editor menu

## [2.2.0] - 2020-11-09
## [2.2.0-preview] - 2020-11-09

### Changed

- Upgrading WebRTC to `2.2.1-preview`


## [2.1.1] - 2020-09-11
## [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] - 2020-08-28
## [2.1.0-preview] - 2020-08-28

### Added

Expand All @@ -81,7 +87,7 @@ Version 3.0.0 has a big change in the package design. This mainly addresses movi

- Fixed the issue when pressing multiple buttons on a keyboard

## [2.0.2] - 2020-05-14
## [2.0.2-preview] - 2020-05-14

### Changed

Expand All @@ -92,33 +98,33 @@ Version 3.0.0 has a big change in the package design. This mainly addresses movi

- Fix documents

## [2.0.1] - 2020-05-01
## [2.0.1-preview] - 2020-05-01

### Fixed

- Fixed versioning issue

## [2.0.0] - 2020-04-30
## [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] - 2020-03-06
## [1.2.2-preview] - 2020-03-06

### Fixed

- Fix build error when build standalone

## [1.2.1] - 2020-02-28
## [1.2.1-preview] - 2020-02-28

### Changed

- Upgrading WebRTC to `1.1.1-preview`

## [1.2.0] - 2020-02-25
## [1.2.0-preview] - 2020-02-25

### Added

Expand All @@ -137,19 +143,19 @@ Version 3.0.0 has a big change in the package design. This mainly addresses movi
- 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] - 2019-09-20
## [1.1.2-preview] - 2019-09-20

Fixed

- Fix image links for Japanese documentation on Unity website

## [1.1.1] - 2019-09-14
## [1.1.1-preview] - 2019-09-14

### Fixed

- Fix image links for documentation on Unity website

## [1.1.0] - 2019-09-13
## [1.1.0-preview] - 2019-09-13

### Added

Expand All @@ -161,7 +167,7 @@ Fixed
- Upgrading HDRP to `5.16.1-preview`
- Adding keyboard event to reset camera position

## [1.0.0] - 2019-08-22
## [1.0.0-preview] - 2019-08-22

### Added

Expand All @@ -176,7 +182,7 @@ Fixed

- Blit Render Texture using customRender instead of `Rendering.RenderPipeline.BeginCameraRendering`

## [0.2.0] - 2019-07-30
## [0.2.0-preview] - 2019-07-30

### Changed

Expand All @@ -186,7 +192,7 @@ Fixed

- Added a unitypackage file containing an HDRP sample, and a menu editor to install it

## [0.1.0] - 2019-07-22
## [0.1.0-preview] - 2019-07-22

- Initial Release

Expand Down
1 change: 1 addition & 0 deletions Documentation~/TableOfContents.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
* [Unity Render Streaming](index.md)
* [Overview](overview.md)
* [Tutorial](tutorial.md)
* [Project Template](template.md)
* [Web Application](webapp.md)
* [Browser Input Process](browser_input.md)
* [Configure Self-Signed Credentials for https](https.md)
Expand Down
2 changes: 1 addition & 1 deletion Documentation~/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ If you use the hardware encoder, Make sure you're using a graphics card that sup

Make sure the port isn't being used by another service.

### uGUI can't be operated through a browser.
### 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.
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation~/images/furioos_signaling.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation~/images/furioos_stream_type.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation~/images/furioos_zip_folder.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation~/images/sample_buildsettings.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation~/images/sample_menu.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation~/images/sample_menu_scene.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
21 changes: 13 additions & 8 deletions Documentation~/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,15 @@ It is possible to send input messages to Unity from the browser, and sending inp
This version of Render Streaming is compatible with the following versions of the Unity Editor

- **Unity 2019.4**
- **Unity 2020.3**

### Platform

- **Windows**
- **Linux**
- **macOS** (**Apple Slicon** is not supported yet)
- **iOS**
- **Android** (**ARMv7** is not supported)

### Web Browsers support

Expand All @@ -54,15 +63,11 @@ Please check [this page](samples.md).

## Project template

Project templates are on the [GitHub repository](https://github.com/Unity-Technologies/UnityRenderStreaming).
Please check [this page](template.md).

## Furioos compatibility

> [!NOTE]
> This is an experimental feature.
**Unity Render Streaming** is also supported natively by **Furioos** platform https://www.furioos.com/ .
That means that you can easily build a Unity application, upload it on **Furioos** and enjoy all the features of **Unity Render Streaming** without worrying about the deployment and scalability issues of your project.

**Unity Render Streaming** is also supported natively by Furioos platform https://www.furioos.com/ .
That means that you can easily build a RenderStreaming application, upload it on Furioos and enjoy all the features of RenderStreaming without worrying about the deployment and scalability issues of your project.
To do so, the requirement is to select "FurioosSignaling" in the "Signaling server type" parameter of the RenderStreaming script.
This allow your application to connect to Furioos services when running on the managed virtual machines.
Then just build a standalone Windows version of your application, zip it and upload it on your account at https://portal.furioos.com/ .
Please see [Furioos Tutorial](tutorial.md#deploy-to-furioos) section to find out how it works.
38 changes: 29 additions & 9 deletions Documentation~/samples.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,35 @@
# Import Samples
# 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 |
| [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 PackageManager Window.

![Sample List](images/renderstreaming_samples.png)

## Sample menu

`Menu` scene is helpful for checking multiple sample scenes. You can find the scene `Example/Menu/Menu.scene`.

![Sample menu](images/sample_menu.png)

Open `Menu` scene and press `Play` button, as you can see the menu for sample scenes.

![Sample menu](images/sample_menu_scene.png)

## Install samples into mobile devices

# About Samples
It is easy to try all samples on mobile devices 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.

* [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)
![Build Settings](images/sample_buildsettings.png)
62 changes: 5 additions & 57 deletions Documentation~/signalingprotocol.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,74 +2,22 @@

**The Unity Render Streaming** package provides two different signaling protocols as examples.

- HttpSignaling
- WebSocketSignaling
- `HttpSignaling`
- `WebSocketSignaling`

In the example, the schema given to `URL Signaling` is used to determine which protocol to use.

![Render Streaming backend](images/websocket_signaling_inspector.png)

If it starts with `http`, HttpSignaling is used. If it starts with `ws`, WebSocketSignaling is used.
If it starts with `http`, `HttpSignaling` is used. If it starts with `ws`, `WebSocketSignaling` is used.

## HttpSignaling
Signaling is handled by Http Request.
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.

## WebSocketSignaling
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.
## Proprietary Signaling Class
Both of the signaling classes implement `ISignaling`.
If you want to create your own signaling class, you can inherit `ISignaling` to use it directly from the UnityRenderStreaming class.
The following is a description of each method.

```
void Start();
```
- A method to call when starting signaling.
- In the sample, we are establishing a session with the server for each protocol.

```
void Stop();
```
A method to call when you want to stop signaling.
In the sample, we are terminating the session with the server for each protocol.

```
public delegate void OnOfferHandler(ISignaling signaling, DescData e);
event OnOfferHandler OnOffer;
```
- This is a delegate that registers the process to be performed when a new Offer is received by signaling.

```
public delegate void OnAnswerHandler(ISignaling signaling, DescData e);
event OnAnswerHandler OnAnswer;
```
- This is a delegate that registers the process to be performed when a new Answer is received by signaling.
- In the current version, it is not used in Unity because it does not receive Answers.

```
public delegate void OnIceCandidateHandler(ISignaling signaling, CandidateData e);
event OnIceCandidateHandler OnIceCandidate;
```
- This is a delegate that registers the process to be performed when it receives a new Candidate by signaling.

```
void SendOffer();
```
- A method to call when sending an Offer in signaling.
- In the current version, it is not implemented in the sample because it is not possible to send Offer from Unity.

```
void SendAnswer(string connectionId, RTCSessionDescription answer);
```
- A method to call when sending an Answer in signaling.

```
void SendCandidate(string connectionId, RTCIceCandidate candidate);
```
- A method to call when sending a Candidate in signaling.
> 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.
Loading

0 comments on commit aacf8f7

Please sign in to comment.