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

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

Last updated on July 14, 2026

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

Overview

このガイドでは、Extend Codegen CLIを使用して、カスタムサービス用のUnrealプラグインを最短の手順で生成する方法を説明します。

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

開始する前に

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

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

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

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

クイックスタート

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

docker pull accelbyte/extend-codegen-cli:0.0.29

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

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

3. 展開したフォルダを開く

cd accelbyte-unreal-sdk-template-pack/

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

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

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

例:

/path/to/my-unreal-project/
|__ MyAwesomeGame.uproject
|__ Config/
|__ Content/
|__ Plugins/
|__ Source/
|__ 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-unreal-project \
SPEC_PATH=/path/to/my-unreal-project/spec \
PACKAGE_TYPE=plugin \
ADMIN_API_PATH=/admin/

パラメーターの概要:

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

6. プラグインが生成されたことを確認する

PACKAGE_TYPE=pluginの場合、生成されたプラグインはプロジェクト内のPlugins/AccelByteUe4SdkCustomization/に作成されます。

AccelByteUe4SdkCustomization/
|__ AccelByteUe4SdkCustomization.uplugin
|__ Resources/
|__ Source/
|__ AccelByteUe4SdkCustomization/
|__ AccelByteUe4SdkCustomization.Build.cs
|__ Private/
|__ Public/
|__ Api/
|__ Models/

7. 生成されたプラグインの依存関係を追加する

AccelByteUe4SdkCustomizationをプロジェクトの.Build.csファイルに追加します。

PublicDependencyModuleNames.AddRange(new string[] { ..., "AccelByteUe4SdkCustomization" });

PACKAGE_TYPE=moduleで生成した場合は、AccelByteUe4Sdk.upluginにもモジュールを追加します。

{
"Name": "AccelByteUe4SdkCustomization",
"Type": "Runtime",
"LoadingPhase": "PreDefault"
}

生成されたAPIを使用する

生成されたAPIヘッダーをインクルードします。

#include "Api/AccelByteGuildApi.h"

次に、AccelByte APIクライアントを通じて呼び出します。

FApiClientPtr ApiClient = AccelByteOnlineSubsystemPtr->GetApiClient();
// ApiClient->GetApiPtr<AccelByte::Api::YourApiName>()->SomeFunction(...);
ヒント

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

さらに詳しい情報が必要な場合

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

トラブルシューティング

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

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

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

プラグイン生成後にUnrealがビルドできない

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

  • ベースのAccelByte Unreal SDKがすでにインストールされていること。
  • AccelByteUe4SdkCustomizationPublicDependencyModuleNamesに追加されていること。
  • 生成された.upluginファイルが有効であること。

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

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

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

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

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