> ## Documentation Index
> Fetch the complete documentation index at: https://frenglish.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

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

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

SequenceのUnity SDKには、ゲームのブートストラップをサポートするさまざまな機能が含まれています。
Package Manager UIの`Setup`サンプルからボイラープレートをインポートし、
下記のように`BoilerplateFactory`を使って作成できます。サンプル内のUIやロジックはご自由に調整してください。

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

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

## ログイン

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

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

<Frame>
  <img src="https://mintcdn.com/frenglish/DW77RR7YqAk4ljjJ/images/unity/unity_boilerplate_login.png?fit=max&auto=format&n=DW77RR7YqAk4ljjJ&q=85&s=16a569a2059f83c590522ab24c462e50" 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/collectibles/contracts/deploy-primary-sales-contract/)：プライマリーセール用コントラクトの設定とデプロイ方法を解説しています。

<Frame>
  <img src="https://mintcdn.com/frenglish/DW77RR7YqAk4ljjJ/images/unity/unity_boilerplate_shop.png?fit=max&auto=format&n=DW77RR7YqAk4ljjJ&q=85&s=6b69d97d68f9eb8b17d624c7f6f8b4ee" 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/frenglish/DW77RR7YqAk4ljjJ/images/unity/unity_boilerplate_daily_rewards.png?fit=max&auto=format&n=DW77RR7YqAk4ljjJ&q=85&s=e826c60ba42ebf287c6ffcf0ae091c85" 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/frenglish/DW77RR7YqAk4ljjJ/images/unity/unity_boilerplate_profile.png?fit=max&auto=format&n=DW77RR7YqAk4ljjJ&q=85&s=ea8ad8a730f56dc26837b1bafa1bed38" 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/frenglish/DW77RR7YqAk4ljjJ/images/unity/unity_boilerplate_inventory.png?fit=max&auto=format&n=DW77RR7YqAk4ljjJ&q=85&s=704c68b8502220ad366aeb89fad885e4" 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/frenglish/DW77RR7YqAk4ljjJ/images/unity/unity_boilerplate_signmessage.png?fit=max&auto=format&n=DW77RR7YqAk4ljjJ&q=85&s=b6316d5ab40edbeb8ced605f8d7fe6d2" 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>
