重要: UNet は非推奨のソリューションになり、現在、新しい Multiplayer とネットワーキングソリューション (Netcode for GameObjects) が開発中です。詳細は、GameObjects Web サイトの Unity Netcode を参照してください。 |
ユーザーの目的に応じて、ネットワーク機能には 2種類あります。
Unity のネットワークには “高レベル” なスクリプト API (Unity では、HLAPI と呼びます) があります。このスクリプト APIを使用することで “低レベル” な実装の詳細を気にすることなく、マルチプレイヤーゲームの一般的な要件を含むコマンドのほとんどにアクセスできます。以下は HLAPI の概要です。
Unity のネットワークは、ゲームエンジンとエディターに統合されました。これにより、コンポーネントやビジュアルツールを使い、マルチプレイヤーゲームを作成できるようになりました。以下の機能が提供されます。
Unity は、製作とリリースを通してゲームをサポートするために、以下を含む インターネットサービス を提供します。
Unity は リアルタイムのトランスポート層 API を含んでいます。以下の機能を提供します。
Unity のネットワークはシンプルな組み込みの認証機能を実装し、セッションを検証するための基本的なサポートを提供しますが、堅牢な認証ソリューションではありません。
堅牢な認証は、悪意のあるユーザーによるプレイヤーセッションの乗っ取り、他のユーザーのなりすまし、正規のプレイヤーのゲームからの切断など、ゲームやアプリケーションに特有の悪質な行為を防ぐことができるため、マルチプレイヤープロジェクトの開発において重要な要素です。
Because Unity only provides simple built-in authentication, if you require robust protection against malicious actions in your game or app, you should use 3rd party authentication and encryption solutions, or implement them yourself using plugins such as this reference implementation and the NetworkTransport API.
これらの機能の活用方法を調べるために、マルチプレイヤーゲームのサンプルプロジェクトを詳しく研究することもできます。 Unity のフォーラム には以下のサンプルプロジェクトがあります。