> ## Documentation Index
> Fetch the complete documentation index at: https://sequence-0fb8d9e6-6461-checkout-updates.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# ゲームのブートストラップ

> 提供されているボイラープレートを使って、素早く統合を開始できます。

SequenceのUnity SDKには、ゲーム開発を迅速に始めるための多彩な機能が備わっています。
パッケージマネージャーUIの`Demo`サンプルからBoilerplateをインポートし、下記のように`BoilerplateFactory`で作成できます。サンプル内のUIやロジックは、ご自身の要件に合わせて自由に調整してください。

コードベースが`Sequence.Boilerplates.asmdef`アセンブリにアクセスできることを確認してください。

より多くの統合例については`BoilerplateController.cs`をご覧ください。

## ログイン

`SequenceLoginWindow`プレハブを作成し、ゲスト・メールOTP・GoogleまたはAppleサインインでユーザー認証を行います。

各ログインオプションの設定方法については、[Authenticationセクション](/sdk/unity/onboard/authentication/intro)をご覧ください。

<Frame>
  <img src="https://mintcdn.com/sequence-0fb8d9e6-6461-checkout-updates/yI_t2w4a8Flo_n1g/images/unity/unity_boilerplate_login.png?fit=max&auto=format&n=yI_t2w4a8Flo_n1g&q=85&s=83423c71e2d095258b9440190544a3c9" width="1144" height="500" data-path="images/unity/unity_boilerplate_login.png" />
</Frame>

```csharp theme={null}
BoilerplateFactory.OpenSequenceLoginWindow(parent);
```

<Accordion title="パラメータ">
  **parent（Transform）**

  Canvasオブジェクト内のTransform。
</Accordion>

## ゲーム内ショップ

ゲーム内でアイテムを直接プレイヤーに販売し、成長を加速しましょう。`SequencePlayerProfile`プレハブを作成して、
ERC1155コントラクトのゲームアイテムを利用したゲーム内ショップを表示できます。ユーザーは任意のカスタムまたは既存のERC20通貨で購入できます。

[Primary Sales Contract](/solutions/builder/contracts/deploy-primary-sales-contract/): プライマリーセールを開始するためのコントラクトのセットアップとデプロイ方法をご案内します。

<Frame>
  <img src="https://mintcdn.com/sequence-0fb8d9e6-6461-checkout-updates/yI_t2w4a8Flo_n1g/images/unity/unity_boilerplate_shop.png?fit=max&auto=format&n=yI_t2w4a8Flo_n1g&q=85&s=c4c78223560b0cb6522b1bee10be092f" width="1144" height="500" data-path="images/unity/unity_boilerplate_shop.png" />
</Frame>

```csharp theme={null}
BoilerplateFactory.OpenSequenceLoginWindow(parent, wallet, chain, collectionAddress, saleContractAddress, itemsForSale, onClose);
```

<Accordion title="パラメータ">
  **parent（Transform）**

  Canvasオブジェクト内のTransform。

  **wallet（IWallet）**

  ログイン完了後、SequenceWallet.OnWalletCreatedイベントから受け取るウォレットインスタンスです。

  **chain（Chain）**

  指定したコントラクトがデプロイされているチェーンタイプ（Ethereum、Sepoliaなど）。

  **collectionAddress（string）**

  ERC1155コントラクトアドレス。まずはBuilderでご自身のコントラクトをデプロイしてください。

  **saleContractAddress（string）**

  Builderで販売をデプロイした際のERC1155販売コントラクトアドレスです。

  **itemsForSale（整数配列）**

  プレイヤーに販売したいトークンIDの配列です。

  **onClose（アクション）**

  オプション。ユーザーがこのウィンドウを閉じたときに呼び出されるコールバックです。
</Accordion>

## デイリーリワード

ゲームを連続してプレイしたユーザーにNFTやコレクティブルを報酬として付与できます。リワードを受け取るたびにミントトランザクションを実行するサーバーボイラープレートをデプロイしてください。

必ず[デイリーリワードサーバーボイラープレート](https://github.com/0xsequence-demos/daily-rewards-server-boilerplate)をデプロイしてください。

<Frame>
  <img alt="img" src="https://mintcdn.com/sequence-0fb8d9e6-6461-checkout-updates/yI_t2w4a8Flo_n1g/images/unity/unity_boilerplate_daily_rewards.png?fit=max&auto=format&n=yI_t2w4a8Flo_n1g&q=85&s=f7a6bda4d24233d1714df337cd0af7fb" width="1144" height="500" data-path="images/unity/unity_boilerplate_daily_rewards.png" />
</Frame>

```csharp theme={null}
BoilerplateFactory.OpenSequenceDailyRewards(parent, wallet, chain, apiUrl, onClose);
```

<Accordion title="パラメータ">
  **parent（Transform）**

  Canvasオブジェクト内のTransform。

  **wallet（IWallet）**

  ログイン完了後、SequenceWallet.OnWalletCreatedイベントから受け取るウォレットインスタンスです。

  **chain（Chain）**

  指定したコントラクトがデプロイされているチェーンタイプ（Ethereum、Sepoliaなど）。

  **apiUrl（string）**

  必要なサーバーボイラープレートをデプロイ後に受け取るAPIのURLです。

  **onClose（アクション）**

  オプション。ユーザーがこのウィンドウを閉じたときに呼び出されるコールバックです。
</Accordion>

## プレイヤープロフィール

現在のプロフィールを管理するために`SequencePlayerProfile`プレハブを作成します。これにはサインアウト、外部ウォレットの連携、ネイティブトークンの送信、資金受け取り用QRコードの表示などの機能が含まれます。

<Frame>
  <img alt="img" src="https://mintcdn.com/sequence-0fb8d9e6-6461-checkout-updates/yI_t2w4a8Flo_n1g/images/unity/unity_boilerplate_profile.png?fit=max&auto=format&n=yI_t2w4a8Flo_n1g&q=85&s=106cf0115ad030085f84e54fcd5d8915" width="1144" height="500" data-path="images/unity/unity_boilerplate_profile.png" />
</Frame>

```csharp theme={null}
BoilerplateFactory.OpenSequencePlayerProfile(parent, wallet, chain, onClose);
```

<Accordion title="パラメータ">
  **parent（Transform）**

  Canvasオブジェクト内のTransform。

  **wallet（IWallet）**

  ログイン完了後、SequenceWallet.OnWalletCreatedイベントから受け取るウォレットインスタンスです。

  **chain（Chain）**

  指定したコントラクトがデプロイされているチェーンタイプ（Ethereum、Sepoliaなど）。

  **onClose（アクション）**

  オプション。ユーザーがこのウィンドウを閉じたときに呼び出されるコールバックです。
</Accordion>

## インベントリ

ユーザーが所有するすべてのERC1155またはERC721コントラクトのアイテムを表示するために`SequenceInventory`プレハブを作成します。

<Frame>
  <img alt="img" src="https://mintcdn.com/sequence-0fb8d9e6-6461-checkout-updates/yI_t2w4a8Flo_n1g/images/unity/unity_boilerplate_inventory.png?fit=max&auto=format&n=yI_t2w4a8Flo_n1g&q=85&s=8e8f6a668a3699d7c7fbf7c5d116ac64" width="1144" height="500" data-path="images/unity/unity_boilerplate_inventory.png" />
</Frame>

```csharp theme={null}
BoilerplateFactory.OpenSequenceInventory(parent, wallet, chain, collections, onClose);
```

<Accordion title="パラメータ">
  **parent（Transform）**

  Canvasオブジェクト内のTransform。

  **wallet（IWallet）**

  ログイン完了後、SequenceWallet.OnWalletCreatedイベントから受け取るウォレットインスタンスです。

  **chain（Chain）**

  指定したコントラクトがデプロイされているチェーンタイプ（Ethereum、Sepoliaなど）。

  **collectionAddress（文字列配列）**

  ERC1155またはERC721コントラクトアドレスの配列です。まずはBuilderでご自身のコントラクトをデプロイしてください。

  **onClose（アクション）**

  オプション。ユーザーがこのウィンドウを閉じたときに呼び出されるコールバックです。
</Accordion>

## メッセージの署名

指定したテキストに署名できるモーダルを表示するために`SequenceSignMessage`プレハブを作成します。

<Frame>
  <img alt="img" src="https://mintcdn.com/sequence-0fb8d9e6-6461-checkout-updates/4PRtyLeWilf2Q8cz/images/unity/unity_boilerplate_signmessage.png?fit=max&auto=format&n=4PRtyLeWilf2Q8cz&q=85&s=405c0edb2e8888037b193338af91176f" width="1144" height="500" data-path="images/unity/unity_boilerplate_signmessage.png" />
</Frame>

```csharp theme={null}
BoilerplateFactory.OpenSequenceSignMessage(parent, wallet, chain, onClose);
```

<Accordion title="パラメータ">
  **parent（Transform）**

  Canvasオブジェクト内のTransform。

  **wallet（IWallet）**

  ログイン完了後、SequenceWallet.OnWalletCreatedイベントから受け取るウォレットインスタンスです。

  **chain（Chain）**

  指定したコントラクトがデプロイされているチェーンタイプ（Ethereum、Sepoliaなど）。

  **onClose（アクション）**

  オプション。ユーザーがこのウィンドウを閉じたときに呼び出されるコールバックです。
</Accordion>
