ドキュメント

サポート

Cloud Code

使用の準備

Follow this workflow to create a C# module in the Unity Editor and deploy it to the Cloud Code service.
読み終わるまでの所要時間 4 分最終更新 23日前

このページでは、Unity エディターで C# モジュールを作成して Cloud Code サービスにデプロイするために必要なステップについて説明します。 ワークフローの例では、単純な Hello World C# モジュールが作成されます。Cloud Code モジュールの使用を準備するには、以下のステップに従います。
  1. Unity エディターの設定: Unity Gaming Services プロジェクト を Unity エディターにリンクし、必要なパッケージをインストールします。
  2. C# モジュールリファレンスファイルの作成: エディターでモジュールリファレンスファイルを作成し、モジュールプロジェクトにリンクします。
  3. 新しいモジュールの生成: Deployment (デプロイ) ウィンドウで新しいモジュールを生成します。
  4. バインディングの生成: ソリューションからクライアントコードを生成します。
  5. モジュールのデプロイ: モジュールを Cloud Code サービスにデプロイします。
  6. ゲームからのモジュール関数の呼び出し: ゲームクライアントからモジュールエンドポイントを呼び出します。

ビデオウォークスルー

以下のビデオで、Unity エディターで C# モジュールを作成して Cloud Code サービスにデプロイするステップのウォークスルーを確認します。

無効なビデオリンク

リンクは有効な埋め込み YouTube リンクである必要があります。

Unity エディターの設定

エディターで Cloud Code モジュールを作成するには、必要なパッケージをインストールし、Unity Gaming Services プロジェクトを Unity エディターにリンクする必要があります。

プロジェクトのリンク

Unity Gaming Services プロジェクト を Unity エディターにリンクします。UGS プロジェクト ID は Unity Cloud Dashboard にあります。 新しい Unity プロジェクトを作成する場合、プロジェクトの作成プロセスで、Unity Gaming Services プロジェクトを Unity エディターにリンクできます。 既存の Unity プロジェクトを使用している場合は、Services (サービス) ウィンドウで Unity Gaming Services プロジェクトを Unity エディターにリンクできます。
  1. Unity エディターで、Edit (編集) > Project Settings (プロジェクト設定) > Services (サービス) の順に選択します。
  2. プロジェクトをリンクします。
    プロジェクトに Unity プロジェクト ID がない場合:
    1. Create a Unity Project ID (Unity プロジェクト ID の作成) > Organizations (組織) の順に選択し、ドロップダウンから組織を選択します。
    2. Create project ID (プロジェクト ID を作成) を選択します。

    既存の Unity プロジェクト ID がある場合:
    1. Use an existing Unity project ID (既存の Unity プロジェクト ID を使用) を選択します。
    2. ドロップダウンから組織とプロジェクトを選択します。
    3. Link project ID (プロジェクト ID をリンク) を選択します。
Unity プロジェクト ID が表示され、プロジェクトが Unity サービスにリンクされました。

必要なパッケージをインストールする

エディター内で Cloud Code モジュールを作成するには、以下のパッケージをインストールする必要があります。
  • Deployment
  • Cloud Code (2.6.1 以降)
Unity エディターの Package Manager (パッケージマネージャー) ウィンドウで、これらのパッケージをインストールし、使用可能なパッケージのリストに追加できます。
  1. Unity エディターの Package Manager (パッケージマネージャー) ウィンドウを開くには、Window (ウィンドウ) > Package Manager (パッケージマネージャー) を選択します。
  2. + (追加) > Add package by name… (パッケージを名前で追加) を選択します。
  3. com.unity.services.deployment
    を入力します。
  4. Add (追加) を選択します。
  5. これらのステップを
    com.unity.services.cloudcode
    について繰り返します。

.NET のインストールと設定

Cloud Code モジュールをエディターにデプロイするには、.NET をインストールする必要があります。 以下のステップに従って、エディターでデフォルトの .NET パスを設定します。
  1. Unity エディターで、Preferences (環境設定) ウィンドウを開きます。
    • Windows の場合、Edit (編集) > Preferences.. (環境設定..) > Cloud Code を選択します。
    • macOS の場合、Unity > Settings.. (設定..) > Cloud Code を選択します。
  2. .NET development environment (.NET 開発環境) セクションで、.NET path (.NET パス) を、インストールしたパスに変更します。
  3. Apply (適用) を選択します。

Deployment (デプロイ) ウィンドウの設定

Deployment (デプロイ) ウィンドウにより、Cloud Code モジュールをリモート環境にデプロイできます。 Deployment パッケージをインストールした場合は、Unity エディターからそれにアクセスできます。
  • Unity エディターのバージョン 2021.3+ では、Window (ウィンドウ) > Deployment (デプロイ) を選択します。
  • Unity エディターのバージョン 2022+ では、Services (サービス) > Deployment (デプロイ) を選択します。
Deployment (デプロイ) ウィンドウを使用する前に、デプロイ先の環境を選択する必要があります。
  1. Unity エディターで、Deployment (デプロイ) ウィンドウ を開きます。
  2. Deployment (デプロイ) ウィンドウで Deployment Settings (デプロイ設定) を選択します。
  3. 新しい Environments (環境) ウィンドウで、Editor Environment (エディター環境) ドロップダウンから環境を選択します。

C# モジュールリファレンスファイルの作成

Unity エディター内で Cloud Code モジュールを作成するには、Cloud Code C# モジュールリファレンスファイルを作成する必要があります。このファイルは、デプロイしようとする C# モジュールプロジェクトを含むソリューションのリファレンスです。
  1. Unity エディターで、Project ウィンドウを右クリックし、Create (作成) > Cloud Code C# Module Reference (Cloud Code C# モジュールリファレンス) を選択します。
  2. モジュールリファレンスファイルに
    HelloWorld
    という名前を付けます。
  3. Enter を押します。
新しいモジュールリファレンスが Project ウィンドウと Deployment (デプロイ) ウィンドウに表示されます。

新しいモジュールの生成

Cloud Code モジュールは、ゲームクライアントが呼び出すことのできるエンドポイントを公開する単純な .NET プロジェクトです。Unity エディターで、モジュールの生成により、変更できるモジュールテンプレートを含むソリューションが作成されます。Cloud Code モジュールがどのように構造化されるかについては、モジュール構造 を参照してください。 モジュールリファレンスファイルを使用して、新しいモジュールを Deployment (デプロイ) ウィンドウで生成できます。生成されるモジュールには、モジュールの開発を開始できる必須の基本設定が含まれます。
  1. Unity エディターの Project ウィンドウで、モジュールリファレンスファイルを選択します。
  2. Inspector ウィンドウで、Generate Solution (ソリューションの生成) をクリックします。
新しいモジュールを Deployment (デプロイ) ウィンドウで直接生成することもできます。
  1. Unity エディターで、Deployment (デプロイ) ウィンドウ を開きます。
  2. モジュールリファレンスファイルを右クリックし、Generate Solution (ソリューションの生成) を選択します。
生成されたモジュールは、Unity プロジェクトのルートにある
HelloWorld
フォルダーにあります。このモジュールは、変更したり拡張したりできる .NET プロジェクトです。

バインディングの生成

新しいモジュールを生成した後で、バインディングを生成できます。バインディングは、ゲームクライアントからモジュールエンドポイントを呼び出すために使用できるタイプセーフクライアントコードです。
  1. Unity エディターの Project ウィンドウで、モジュールリファレンスファイルを選択します。
  2. Inspector (インスペクター) ウィンドウで、Generate Bindings (バインディングの生成) を選択します。

モジュールのデプロイ

モジュールエンドポイントをゲームクライアントからアクセス可能にするには、Cloud Code サービスにモジュールをデプロイする必要があります。Deployment (デプロイ) ウィンドウを使用してモジュールをデプロイできます。 モジュールをデプロイするには、以下を行います。
  1. Unity エディターで、Deployment (デプロイ) ウィンドウ を開きます。
  2. Project (プロジェクト) ウィンドウで、モジュールリファレンスファイルを選択します。
  3. Deployment (デプロイ) ウィンドウで Deploy Selected (選択したアイテムのデプロイ) を選択します。
詳細については、Deployment パッケージのマニュアル を確認してください。 デプロイが成功すると、Project (プロジェクト) ウィンドウでモジュールリファレンスファイルの横に緑色のチェックマークが表示されます。

ゲームからのモジュール関数の呼び出し

デプロイが成功したことを確認するために、ゲームクライアントからモジュールエンドポイントを呼び出します。生成されたモジュールには、
SayHello
というデフォルトのエンドポイントが含まれます。

SDK の設定

ゲームからモジュール関数を呼び出すには、まずゲームクライアントに Cloud Code SDK を設定する必要があります。
  1. Unity Cloud Dashboard の Cloud Code ページでこのサービスが有効になっていることを確認します。
  2. Unity Package Manager で Cloud Code と Authentication SDK の両方をインストールしたことを確認します。
  3. Unity エディターで新しい C# Monobehaviour スクリプトを作成します。詳細については、Unity マニュアルの スクリプトの作成と使用 を参照してください。

モジュール関数の呼び出し

以下は、ゲームクライアント内のモジュール
HelloWorld
からモジュール関数
SayHello
を呼び出す方法を示す例です。
C#
using Unity.Services.Authentication;using Unity.Services.CloudCode;using Unity.Services.CloudCode.GeneratedBindings;using Unity.Services.Core;using UnityEngine;public class TestModule : MonoBehaviour{ private async void Start() { // Initialize the Unity Services Core SDK await UnityServices.InitializeAsync(); // Authenticate by logging into an anonymous account await AuthenticationService.Instance.SignInAnonymouslyAsync(); try { // Call the function within the module and provide the parameters we defined in there var module = new HelloWorldBindings(CloudCodeService.Instance); var result = await module.SayHello("World"); Debug.Log(result); } catch (CloudCodeException exception) { Debug.LogException(exception); } }}

次のステップ

最初のモジュールのデプロイ後に、次のステップについて学習します。

トピック

説明

モジュール構造モジュール構造をよく理解します。
他の Unity サービスとのインテグレーションモジュールを他の Unity Gaming Services と統合します。
外部サービスとのインテグレーションモジュールを外部サービスと統合します。
単体テストの作成モジュールの単体テストを記述します。