メインコンテンツまでスキップ

クイックスタート

バックエンドサービスを待たずに、Unity でゲームの API コールを開発・テストできます。


動画


問題

バックエンドが遅れている?ネットワークが不安定?オフラインで作業したい?エラーをテストしたい?

  • バックエンドが未完成 → API コントラクトを自分で定義し、今すぐビルド、後で実際のバックエンドに切り替え
  • エラーをテストしたい → 成功/エラー/タイムアウト/無効なレスポンスをオンデマンドで設定
  • オフライン開発 → ネットワークなし、VPN 不要でゲームを実行
  • ページネーションのテスト → 異なるレスポンスを自動的にサイクル

API コールのルーティング先:

  • 実際のバックエンド(本番、ステージング)
  • QA サーバー
  • ローカルホスト
  • モックレスポンス(カスタムステータスコード、レイテンシ、データ)

API Mocking Toolkit ルーティング


インストール

  1. Unity Asset Store を開く
  2. "API Mocking Toolkit" を検索 → Import(インポート)
  3. すべてのファイルをインポート

要件: Unity 2021.3 以上、外部依存なし


デモシーン

1. デモシーンを開くAssets > CodeCarnage > ApiMockingToolkit > Samples > DemoScene > DemoScene.unity
2. Play を押すシーンが読み込まれ、2 つのボタンが表示されます:Get UsersGet Posts
3. "Get Users" をクリックリクエスト送信 → Toolkit が傍受 → インターネット不要でモックデータを即時返却
4. "Get Posts" を複数回クリックページ 1 → 2 → 3 → 1 とサイクル(レスポンスストラテジーの動作確認)

仕組み

DemoController.cs を開く:

public async void OnGetUsersClicked()
{
var response = await ApiClient.Get("{{baseUrl}}/users");
DisplayResponse(response);
}

標準的な API コール。{{baseUrl}} はアクティブな環境に応じて解決されます。Toolkit は一致する URL を傍受し、モックデータを返します。if (testing) チェックは不要。同じコードがモックでも実際のバックエンドでも動作します。


最初のエンドポイントを作成

JSONPlaceholder の /comments エンドポイントをスタンドインとして使い、ゲームの API をモックします。モックではオフライン、実際の API ではオンラインで動作します。

1. Toolkit ウィンドウを開くWindow > CodeCarnage > API Mocking Toolkit
2. エンドポイントを作成

"+ Endpoint" をクリックして設定:

3. モックレスポンスを追加

ステータスコード:201

{
"id": 501,
"postId": 1,
"name": "Demo comment from Unity",
"email": "player@example.com",
"body": "Returned from mock"
}
4. オフラインモードを有効化上部のトグルを ON にする
5. テスト
using System.Collections.Generic;
using UnityEngine;
using CodeCarnage.ApiMockingToolkit;

public class ProfileTest : MonoBehaviour
{
async void Start()
{
var requestBody = "{
"postId": 1,
"name": "Demo comment",
"email": "player@example.com"
}";
var headers = new Dictionary<string, string> { { "Content-Type", "application/json" } };
var response = await ApiClient.Post("https://jsonplaceholder.typicode.com/comments", requestBody, headers);
Debug.Log($"Status: {response.StatusCode}");
}
}

次のステップ


トラブルシューティング

何も起きない? オフラインモードが ON になっているか確認。URL が完全一致しているか(大文字・小文字を区別)、Console でエラーを確認。

デモシーンが動かない? "Demo Scene Collection" が選択されているか確認。Package Manager からサンプルを再インポート。

質問? トラブルシューティング FAQ を確認するか、support@codecarnage.com にメール。