💭

thirdwebのSDKを利用して、ゲームエンジンのUnityでコントラクトを連携させてみよう!

2022/12/05に公開

こんにちは、CryptoGamesの高橋です。

本日は、こちらの記事をもとに、ゲームエンジンのUnityとthirdwebで作成したコントラクトを連携させていきたいと思います。

https://blog.thirdweb.com/guides/get-started-with-thirdwebs-unity-sdk/

なお、今回は、thirdwebでNFTのコントラクトを作成する方法は省略します。

もしご不明の場合には、こちらのハンズオンでぜひやってみてください。

https://www.youtube.com/watch?v=951rbH51kLM

0.始める前に

始める前に、Unity Hubのインストールをお願いします。
https://learn.unity.com/tutorial/install-the-unity-hub-and-editor

インストール後にUnity Hubを立ち上げたところから始めていきます。

1.新しいプロジェクトを作る

では、新しいプロジェクトを作ってみましょう。

「New project」を選択

任意の名前をつけて、「Create project」

すると、このように、新しいプロジェクトが立ち上がりました。

ダッシュボードにもこのように追加されています。

2.thirdwebのパッケージをインポートする

では、thirdwebを使えるように、thirdweb用のSDKをインポートしていきましょう。

こちらからダウンロードします。
https://github.com/thirdweb-dev/unity-sdk/releases

なお、今回は、公式でも例にありました、「v1.0.0-beta」を使用していきます。

ダウンロードができましたら、下のように、「Custom package...」からインポートを行います。

ダウンロードしたファイルを選択します。

何をインポートするかの選択があるので、このまま全てインポートします。

下のように、インポートができました。

Thirdwebが追加されています。

3.thirdweb用のコードを編集する

では、自分が作成した、コントラクトを操作できるように、コードを編集していきます。

下の、「ThirdwebSDKDemos.cs」をダブルクリックします。

すると、このようなコードが確認できました。

例えば、Goerliによる接続などが記載されています。

では、あらかじめ作成していた、ERC721用(NFT Drop)のコントラクトアドレスをコピーします。

下のように、貼り付けます。

それ以外の部分は一度に用意するのは大変なので、下のようにコメントアウトにしました。

4.プラットフォームを変更する

では、プラットフォームをWebGLに変更していきます。

下のように、「Build Settings...」から

下のように、「WebGL」を選択し、「Switch Platform」を実行します。

5.ローカル環境で立ち上げる

では、ビルドを行い、ローカル環境で立ち上げてみましょう。

「Player Settings...」から

下のように、「WebGL Template」を「Thirdweb」に変更します。

次に、下のように、「Auto Graphics API」を外します。

この状態で、「Add Open Scenes」で追加を行います。

下のように追加されれば成功です。

この状態で、「Build and Run」から任意の名前をつけて、「Save」を行います。

これで、下のように、ローカルで立ち上がりました!

このように、実際にメタマスク接続などもできます。

6.デプロイを行う

では、デプロイを行っていきます。

「Player Settings...」から

下のように、「Compression Format」を「Disabled」に設定します。

できましたら、「Build and Run」でリビルドを行います。

これができましたら、build用のフォルダが格納されている場所に行き、下のように

npx thirdweb@latest upload .

でデプロイを行います。

上で、デプロイ先のURLが表示されたので、そこに行ってみると、下のようにデプロイが無事に行われました。

コメントアウトしたもの以外は動くと思います。

本日はこれで以上です。

ぜひやってみてください。

Discussion