概要
Render Streaming のシステムの概観について説明します。
システム構成
Unity Render Streaming のシステムは以下の 3 つで構成されます。
- Unity (エディタもしくはアプリケーション)
- ウェブサーバ
- ウェブブラウザ

Render Streaming では、Unity と ウェブブラウザ が P2P ネットワークを構成し、UDP/IP を利用して通信を行います。ウェブサーバ は ウェブブラウザと Unity の情報のやり取りを仲介します。この情報のやり取りのことをシグナリングと呼びます。
Warning
以下の機能は現在サポートしていません。
- ブラウザーから Unity へのビデオ送信
- ブラウザーから Unity へのオーディオ送信
シグナリングプロセス
シグナリング処理の流れを説明します。

- Web ブラウザーから ウェブサーバに Offer SDP を送信します。
- Unity から ウェブサーバに問い合わせて、未処理の Offer SDP を取得します。
- Unity から ウェブサーバに Answer SDP を送信します。
- ウェブブラウザから ウェブサーバに問い合わせて、未処理の Answer SDP を取得します。
- ウェブブラウザから ウェブサーバに ICE Candidate を送信します。
- Unity から ウェブサーバに問い合わせて、未処理の ICE Candidate を取得します。
- Unity から ウェブサーバに ICE Candidate を送信します。
- ウェブブラウザから ウェブサーバに問い合わせて、未処理の ICE Candidate を取得します。
パッケージの構成
Render Steraming パッケージには以下の内容が含まれています。
- WebRTC パッケージ
- サンプルコード / アセット
- ウェブアプリケーション

WebRTC パッケージ
This provides the WebRTC C# API. See the WebRTC package documentation for details on the API.

サンプルコード / アセット
HDRP テンプレートのサンプルに Render Streaming を組み込んだテンプレートプロジェクトです。
Web アプリケーション
クライアントサイド及びサーバーサイドのサンプルを含みます。また、シグナリングサーバーの機能を提供しています。Web アプリケーションの詳細についてはドキュメントを参照してください。 シグナリングプロトコルに関しては、 ドキュメントを参照してください。