Cloud Code

Cloud Code は、コードを記述してクラウド内で実行できるサーバーレスコンピューティングサービスです。Unity の Cloud Code を使用して、フルマネージのインフラストラクチャ上でステートレスなサーバーサイドのコードを記述できます。Cloud Code は、トラフィックの需要を満たすために自動的にスケールされるフルマネージサービスです。ゲームロジックの開発に集中し、それをクライアントから分離して不正行為を防止できます。

Cloud Code は、Remote ConfigCloud SaveEconomyLeaderboards などの他の Unity サービスとの統合と完全に互換性があります。

Cloud Code を他の Unity サービスとともに使用して、ゲームロジックを安全に保ったまま、完全なゲームバックエンドを作成したり、ゲーム内経済プレイヤーデータのストレージ動的設定 などのソリューションをデプロイしたりできます。

Cloud Code C# モジュールは、UnityEngine 名前空間または [Unity のスクリプティング API] の他の場所からのクラスを使用できません。これは、Cloud Code がオープンソース [.NET ランタイム] を使用するからです。これは Unity Runtime から分離されており、その [スクリプティングバックエンド] のいずれにも依存しません。

Cloud Code を使用した解決策

問題解決策
プレイヤーにインストールの更新を要求するクライアント更新をロールアウトせずに、ライブゲームにコードをデプロイする必要があります。Cloud Code を使用して、プレイヤーが更新する必要なしにゲームロジックを更新します。
悪意のあるプレイヤーがクライアントコードの変更、状態の変更、または不正行為を行えないようにする必要があります。プレイヤーがゲームロジックのリバースエンジニアリングを行うことを防ぐ必要もあります。Cloud Code を使用して、ゲームロジックが安全なサンドボックス内で実行され、クライアントから分離されるようにします。
複数のオンラインサービスを使用する必要がありますが、ゲームの反応が遅くなることは望ましくなく、他のサーバーサイドコンポーネントと統合するときにゲームクライアントで簡単に記述できるようにしたいと考えています。Cloud Code を活用して、他の Unity サービスと統合し、複数のコンポーネント内で結び付くコードを記述します。
インフラストラクチャを管理して、ゲームロジックを実行し、トラフィックの需要を満たすようにスケールする必要があります。Cloud Code を使用して、フルマネージのインフラストラクチャ上でステートレスなサーバーサイドのコードを記述します。
ゲームがトラフィックを受信していないときに、未使用リソースの料金を支払いたくありません。Cloud Code を使用して、使用するものに対してのみ支払うようにします。
認証や互換性を考慮せずに、複数のコンポーネント内で結び付くコードを記述するソリューションが必要です。Cloud Code を使用して、互換性が組み込まれた他の Unity サービスと統合するコードを記述します。

モジュールおよびスクリプトでの Cloud Code の使用

ゲームから Cloud Code を呼び出すには、統合された Unity SDK を使用するか、Unity エディターの外部で作業する必要がある場合は Cloud Code Client API を使用できます。

Cloud Code では、2 種類のコードがサポートされます。Cloud Code C# モジュールと Cloud Code JavaScript スクリプトです。

ニーズに適合する方法を選択するには、以下の概要を確認してください。

Cloud Code C# モジュールCloud Code JavaScript スクリプト
ランタイム.NET 7Node.js 14
言語C#JavaScript
デプロイエディターコマンドライン または Admin APIエディター、[ダッシュボード]、コマンドライン、または Admin API
実行SDK または ランタイム APISDK または ランタイム API
外部ライブラリサポートNuGet パッケージマネージャー および パブリックインターネットエンドポイントパブリックインターネットエンドポイント

Cloud Code C# モジュールは、UnityEngine 名前空間または [Unity のスクリプティング API] の他の場所からのクラスを使用できません。これは、Cloud Code がオープンソース [.NET ランタイム] を使用するからです。これは Unity Runtime から分離されており、その [スクリプティングバックエンド] のいずれにも依存しません。

Cloud Code インターフェース

アプリケーションを Cloud Code と統合して管理するには、複数の方法があります。

インターフェースサポート説明使用方法
Cloud Code SDKスクリプトとモジュール。Unity プロジェクトを Cloud Code と統合するためのソフトウェア開発キット (SDK)。SDK を使用して、Unity Runtime から モジュールエンドポイントを呼び出すスクリプトを呼び出し ます。
Unity Dashboardスクリプトおよび制限付きモジュールのサポート。Cloud Code の設定を管理するためのウェブベースのインターフェース。スクリプトの 作成、プレビュー、および テスト実行モジュールのプレビュー
Unity Gaming Services コマンドラインインターフェーススクリプトとモジュール。Cloud Code の設定を管理するためのコマンドラインインターフェース。Cloud Code を CI/CD に統合し、ファイルベースのワークフローをイテレートして、Cloud Code を他の Unity サービスと一緒にデプロイします。
Cloud Code Admin APIスクリプトとモジュール。Cloud Code のスクリプトとモジュールを管理するための REST API。REST API を使用して、Cloud Code スクリプトとモジュールを作成、読み取り、更新、および削除します。
Cloud Code Client APIスクリプトとモジュール。Cloud Code のスクリプトとモジュールエンドポイントを呼び出すための REST API。API 呼び出しを通じて Cloud Code スクリプトとモジュールを呼び出し、Unity エディターの外部の製品と統合します。
デプロイスクリプトとモジュール。Unity エディターと UGS CLI の拡張機能。デプロイを使用して、Cloud Code を Unity Dashboard ではなくファイルで設定します。バージョン管理の一部としてこれらのファイルを追加し、Unity Dashboard でのコンテキストの切り替えを最小限に抑えます。

コードのデプロイと実行の方法を理解するには、次のステップの実行 セクションのオプションのどれかに従います。

次のステップの実行

Cloud Code C# モジュール

タイプセーフプログラミング言語と強力な .NET コンポーネントを使用して、サーバーサイドコードを記述します。NuGet のようなツールを使用して、プロジェクトバンドル動的リンクライブラリ (DLL) 内の必要な他のコンテンツを消費します。

Cloud Code C# モジュールの使用を準備します。

Cloud Code JavaScript スクリプト

サーバーサイドコードを簡単に記述して言語をイテレートします。JavaScript フロントエンドバックグランドから来た場合は、同じエコシステムを利用します。Cloud Code コマンドラインですぐに使用可能なサポートされる CommonJS および ECMAScript モジュールシステムを通じて、コードを再利用可能な部分とバンドルします。

Cloud Code JavaScript スクリプトの使用を準備します。