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

Extend Codegen CLIを使用してExtend Service Extension用のUnity SDKプラグインを生成する

Last updated on July 14, 2026

注釈:本資料はAI技術を用いて翻訳されています。

Overview

このガイドでは、Extend Codegen CLIを使用してカスタムサービス用のUnityパッケージを生成する最短の方法を説明します。

以下がすでに用意されている場合に、このフローを使用してください。

  • Unityプロジェクトに導入済みのAccelByte Unity SDK
  • サービス用のOpenAPI 2.0 JSONファイル
  • GitHub Releasesから入手したUnityテンプレートパックのZIPファイル
ヒント

サービスがExtend Service Extensionアプリの場合、AGSのAdmin PortalでアプリのOpen API DocumentationページからOpenAPI 2.0 JSONを取得できます。

デプロイ前にOpenAPIファイルが必要な場合は、デプロイせずにService Extension OpenAPIを生成するを参照してください。

開始前に

まず以下の項目を準備してください。

  1. AccelByte Unity SDKがすでにインストールされているUnityプロジェクト。
  2. bashmake、Dockerを利用できるLinux環境またはWindows 11 WSL2。
  3. カスタムサービス用の有効なOpenAPI 2.0 JSONファイル。
  4. accelbyte-unity-sdk-template-pack.zipファイル。
ヒント

AGSのAdmin PortalでアプリのOpen API DocumentationページからOpenAPI 2.0 JSONを取得できます。デプロイ前にOpenAPIファイルが必要な場合は、デプロイせずにService Extension OpenAPIを生成するを参照してください。

コード生成を実行する前に、Swagger EditorでOpenAPIファイルを検証してください。無効な仕様は生成が失敗する最も一般的な原因です。

クイックスタート

1. Extend Codegen CLIのDockerイメージをプルする

docker pull accelbyte/extend-codegen-cli:0.0.29

2. Unityテンプレートパックをダウンロードして展開する

wget https://github.com/AccelByte/extend-codegen-cli/releases/download/v0.0.29/accelbyte-unity-sdk-template-pack.zip
unzip accelbyte-unity-sdk-template-pack.zip

3. 展開されたフォルダを開く

cd accelbyte-unity-sdk-template-pack/

4. specフォルダを準備する

Unityプロジェクトにspecフォルダを作成し、同じOpenAPIファイルをルートと以下の3つのサブフォルダに配置します。

  • spec/Client
  • spec/GameServer
  • spec/Models

例:

/path/to/my-unity-project/
|__ Assets/
|__ Packages/
|__ ProjectSettings/
|__ spec/
|__ Client/
| |__ guild.json
|__ GameServer/
| |__ guild.json
|__ Models/
| |__ guild.json
|__ guild.json
important

guild.jsonのようなシンプルな小文字のファイル名を使用してください。テンプレートパックはコード生成時にそのファイル名をサービス識別子として使用します。

注意

複数のサービスを生成する場合、各OpenAPIファイルが一意のbasePathを使用していることを確認してください。basePathの値が重複していると、命名や実行時の競合が発生する可能性があります。

5. コード生成を実行する

以下を実行します。

make all \
CODEGEN_IMAGE_VERSION=0.0.29 \
PROJECT_PATH=/path/to/my-unity-project \
SPEC_PATH=/path/to/my-unity-project/spec \
PACKAGE_TYPE=plugin \
ADMIN_API_PATH=/admin/

パラメータの概要:

  • CODEGEN_IMAGE_VERSION: 使用するaccelbyte/extend-codegen-cliのバージョン
  • PROJECT_PATH: Unityプロジェクトのルート
  • SPEC_PATH: specフォルダへのパス
  • PACKAGE_TYPE=plugin: スタンドアロンのUnityパッケージを生成
  • ADMIN_API_PATH: クライアントとサーバーのエンドポイントの分割(任意)

6. パッケージが生成されたことを確認する

PACKAGE_TYPE=pluginの場合、生成されたパッケージはUnityプロジェクトの隣に作成されます。

/path/to/com.AccelByte.SDK.Custom/
|__ package.json
|__ Runtime/
|__ AccelByte.Sdk.Custom.asmdef
|__ Api/
| |__ Guild.cs
|__ Models/
|__ GuildModels.cs

7. パッケージをUnityに追加する

生成されたパッケージをPackages/manifest.jsonに追加します。

{
"dependencies": {
"com.accelbyte.unitysdk": "file:../com.AccelByte.SDK",
"com.accelbyte.unitysdk.custom": "file:../com.AccelByte.SDK.Custom"
}
}

Unityを再度開くか、manifest.jsonの変更後にUnityにパッケージを再読み込みさせます。

生成されたAPIを使用する

SDKの名前空間をインポートします。

using AccelByte.Api;
using AccelByte.Core;
using AccelByte.Models;

SDKレジストリを介して生成されたサービスを呼び出します。

Guild guild = AccelByteSDK.GetClientRegistry().GetApi().GetApi<Guild, GuildApi>();
guild.GetGuildProgress("testGuildId", (Result<AccelByteGuildGetGuildProgressResponse> result) =>
{
});
注記

より簡単なカスタムSDKアクセスパターンは、リリース2026.2で予定されています。

ヒント

カスタムサービスのServerUrlbasePathをオーバーライドする必要がある場合は、Unity用の環境切り替えの有効化を参照してください。

詳細が必要な場合

クイックスタート以上の情報が必要な場合は、以下の参考資料を使用してください。

トラブルシューティング

生成が開始する前にmakeが失敗する

まず以下を確認してください。

  • Dockerがインストールされ、実行されている。
  • ユーザーがDockerコマンドを実行できる。
  • OpenAPIファイルが有効なOpenAPI 2.0である。

Unityが生成されたパッケージを読み込めない

以下の項目を確認してください。

  • Packages/manifest.jsonが正しい相対パスを指している。
  • package.jsoncom.AccelByte.SDK.Custom内に存在する。
  • 基本のAccelByte Unity SDKパッケージがすでにインストールされている。

生成されたコードが別のカスタムサービスと競合する

以下の項目を確認してください。

  • 各OpenAPIファイルが一意のファイル名を使用している。
  • 各OpenAPIファイルが一意のbasePathを使用している。

再生成すると手動での編集が削除される

生成されたファイルはビルド出力として扱ってください。カスタムロジックは、生成されたパッケージを直接編集するのではなく、自分のプロジェクトコード内に保持してください。