Cloud Code
Cloud Code は、コードを記述してクラウド内で実行できるサーバーレスコンピューティングサービスです。Unity の Cloud Code を使用して、フルマネージのインフラストラクチャ上でステートレスなサーバーサイドのコードを記述できます。Cloud Code は、トラフィックの需要を満たすために自動的にスケールされるフルマネージサービスです。ゲームロジックの開発に集中し、それをクライアントから分離して不正行為を防止できます。
Cloud Code は、Remote Config、Cloud Save、Economy、Leaderboards などの他の 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 7 | Node.js 14 |
言語 | C# | JavaScript |
デプロイ | エディター、コマンドライン または Admin API。 | エディター、[ダッシュボード]、コマンドライン、または Admin API。 |
実行 | SDK または ランタイム API。 | SDK または ランタイム 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 JavaScript スクリプト サーバーサイドコードを簡単に記述して言語をイテレートします。JavaScript フロントエンドバックグランドから来た場合は、同じエコシステムを利用します。Cloud Code コマンドラインですぐに使用可能なサポートされる CommonJS および ECMAScript モジュールシステムを通じて、コードを再利用可能な部分とバンドルします。 |