Hero image

Unity Netcode でマルチプレイヤーゲームを制作

Unity の NetCode ソリューションの詳細を確認し、制作開始に必要なライブラリ、チュートリアル、サンプルを入手しましょう。

このウェブページは、お客様の便宜のために機械翻訳されたものです。翻訳されたコンテンツの正確性や信頼性は保証いたしかねます。翻訳されたコンテンツの正確性について疑問をお持ちの場合は、ウェブページの公式な英語版をご覧ください。

今すぐ視聴する

NetCode ソリューションとカジュアルな協力型ゲーム

カジュアルな協力型マルチプレイヤーゲームの制作には、Netcode for GameObjects パッケージがお勧めです。クライアントオーソリテーティブとサーバーオーソリテーティブのどちらのモデルを採用していても、さまざまなクライアントやプラットフォームの間でシーンやゲームオブジェクトのデータを同期できます。再生モードでもランタイムでもネットワークのプロファイルを確認できるツールが揃っているので、ゲームの最適化にも役立ちます。

また、Unity Gaming Services の Relay も便利です。Relay は、専用ホスティングに対する投資が不要で費用対効果に優れたピアツーピアのコンパニオンサービスであり、テストプレイのスケールや、マルチプレイヤーゲームの制作に役立ちます。

雪景色のレーシグカーのシーン

NetCode ソリューションと対戦型アクションゲーム

対戦型マルチプレイヤーアクションゲームの制作には、Netcode for Entities パッケージです。Netcode for Entities は、ECS をベースに高いパフォーマンスとスケーラビリティを目指したパッケージです。予測、補間、ラグ補償に対応した意欲的かつサーバーオーソリテーティブなゲームプレイを実現できます。

また、専用のサーバービルドターゲットを使えば自動でアセットを削除できるので、コスト管理にも便利です。Unity Gaming ServicesのMultiplay Hostingは、ゲームインフラの回復力と拡張性を維持するための合理的なアプローチです。

UGSキーアート

Unity ゲーミングサービスでゲームをレベルアップ

Netcode for GameObjects を使用して小規模な協力型のゲームを構築し、Relay と Lobby を使用してプレイヤー同士をつなげます。

さらに、ゲームをビルドして管理し、成長させるのに使用できる、超大作のゲームで実証済みの Unity のソリューションにアクセスできます。

2枚のパネルの間を流れる電流

トランスポート層をきめ細かくコントロール

Unity Transport Packageは、パフォーマンスと信頼性を重視した低レベルのネットワークレイヤーを提供する、ネットコードにとらわれないライブラリです。Unity Relayサービス、UnityTLS、パイプラインなどの高度な機能をサポートし、従来のUDPを拡張した、モダンでセキュアでポータブルなトランスポートライブラリです。

Netcode for GameObjects と Netcode for Entities はどちらも、デフォルトでは UTP をトランスポートとして使用しています。もっとも、ネットワークをきめ細かくコントロールしたい場合には、スタンドアロンのライブラリとして UTP を利用することもできます。

今すぐ視聴する

NetCode のサンプルでネットワーキングのコードを学ぶ

マルチプレイヤーゲームの開発方法を学べるサンプルコードを各種ご用意しています。

  • ボスルームは、Netcode for GameObjectsで構築され、LobbyとRelayと統合された、プロダクションレベルのコードを持つ3DカジュアルCo-opゲームです。
  • 銀河の子猫たちは、Netcode for GameObjectsで作られた2D協力型スペース・アドベンチャーのサンプルで、ネットワーク・オブジェクトの同期方法を学べるように設計されています。
  • ネットワーク・レーシングは、クライアントサイドの予測、補間、ラグ補正を例証する、Netcode for Entitiesで構築された、事実ペースの対戦レースサンプルです。
コミュニティの中で学び、制作する

コミュニティの中で学び、制作する

かつて誰かが一人で行くのは危険であると言っていたことから、私たちは皆さんがこれを必要としていると考えました。Unity のドキュメントには、ネットワーキングを開始するにあたって役に立つテクニカルリファレンスやコンテンツが揃っています。

さらに、ご質問があれば、私たちのチームはMultiplayerフォーラムDiscordGitHubで活発に活動しています。

マルチプレイヤーネットワーキングの詳細を見る

一口サイズのサンプル

Bitesize Samples リポジトリでは、ゲーム内で使用できる一連のサンプルコードをモジュールとして提供し、Netcode for GameObjects (Netcode) の理解を深めます。

一口サイズのサンプル

ゲームオブジェクトのネットコード・チュートリアル

このチュートリアルでは、GameObjects用Netcodeの基本的な理解を深め、カジュアルな協力マルチプレイヤーゲームを作成する際にNetcodeを使用する方法を学びます。

ゲームオブジェクトのネットコード・チュートリアル

小規模対戦マルチプレイヤー・テンプレート

このテンプレートは、Netcode For GameObjectsとUnityのゲームサービスを使用してMultiplayerプロジェクトを作成し、出荷するための出発点を提供します。

小規模対戦マルチプレイヤー・テンプレート

エンティティのためのネットコードを始める

このオンデマンド・ウェビナーでは、Megacity Metroのデモを深く掘り下げ、Unityのゲームサービスとともにプロジェクトでエンティティを有効にする方法を学びます。

エンティティのためのネットコードを始める

マルチプレイヤーゲームの次回作の制作を開始する

Unity のマルチプレイヤーソリューションをインストールして、次回のプロジェクトで有利なスタートを切りましょう。

よくあるご質問

はい。Unity の NetCode ソリューションはいずれも、1 つのクライアントがホストとして機能し、他のクライアントがそれに接続する、ホスト/リッスンサーバーモデルをサポートしています。詳細はこちらをご覧ください。

Unity のマルチプレイヤーソリューションではいずれも、最新版の Transport を採用しており、WebGL を含めたあらゆるプラットフォームをサポートしています。私たちのロードマップを見て投票したり、ここでアイデアを共有したりするのは自由だ。

Netcode for GameObjects は、2022 年 9 月 20 日より製品版を公開しています。Netcode for Entities は 2022.2 TECH ストリームでプレリリースとなっています。

現時点の計画では、どちらの NetCode ソリューションについても、Unity のコアとなるリアルタイム開発プラットフォームとは別個のものとするアプローチを維持する予定です。計画が変更された場合、ロードマップが最初に反映されることになる。

Netcode for GameObjects は、2020.3、2021.3、2022.1、2022.2 でご利用いただけます。

Netcode for Entities は、2022.2 でご利用いただけます。

Netcode for GameObjects と Transport は、Unity Relay とシームレスに統合されています。

Multiplayホスティングの場合、これらをセットアップするプロセスは現在手作業で行われていますが、当社のチームは現在、このDGSのワークフローを最適化し、当社のすべてのソリューションでシームレスになるよう取り組んでいます。

SDK とドキュメントのどちらでも可能です。Unity では、このジャーニーをコミュニティと共有できることをとても嬉しく思っています。また、RFC プロセスなどを通じて、設計上の意思決定について議論し、さまざまな面で関与できるようにします。

Unity のマルチプレイヤーソリューションはどちらも、専用ゲームサーバーモデルに対応しています。専用ゲームサーバーを作成するには、ビルドターゲットを専用サーバーに変更したうえで通常どおりプロジェクトをビルドし、その最終ビルドをゲームサーバーホスティングサービスまたは独自のサーバーハードウェアにアップロードします。

Unity のドキュメントサイトは、制作を開始するのに役立つ学習リソースと記事が満載です。他に質問があれば、Discordで私たちのチームに直接聞いてください。