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

Unity Render Streaming では、Unity と Web ブラウザー が P2P ネットワークを構成し、UDP/IP を利用して通信を行います。Web サーバー は Web ブラウザーと Unity の情報のやり取りを仲介します。この情報のやり取りのことを シグナリング(signaling) と呼びます。
シグナリングによってピア間の通信経路が確立され、映像や音声、テキストやバイナリデータを相互にやり取りすることができるようになります。
Warning
現在、以下の機能に対応していません。
- ブラウザーから Unity へのビデオ送信
- ブラウザーから Unity へのオーディオ送信
シグナリング処理の流れ
Unity Render Streaming におけるシグナリング処理の流れを説明します。

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

WebRTC パッケージ
WebRTC の C# API を提供します。
このパッケージは、Unity Render Streaming パッケージとは独立したパッケージとして管理されています。
詳細は WebRTC パッケージ のドキュメントを確認してください。

サンプルコード / アセット
HDRP/URP テンプレートのサンプルに、 Unity Render Streaming を組み込んだプロジェクトです。
Web アプリケーション
クライアントサイド及びサーバーサイドのサンプルを含みます。また、シグナリングサーバーの機能を提供しています。Web アプリケーションの詳細についてはドキュメントを参照してください。
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.