Web3企業のメタバースチームに立ち上げメンバーとして参画したUnityエンジニアの話
はじめまして!
株式会社Gaudiyのメタバース開発チームに所属している、Unityエンジニアのくりやま(@xamel7)です。
普段は二児(0歳と3歳)の父親をしていて、休日は技術調査や個人開発、子供のお世話などをしてます。副業ではUnityの技術コンサル、サポート、開発支援を行っています。出身地は兵庫県の西宮市で、現在は大阪在住です。
本noteでは、Web3企業のメタバース開発チームに、一人目のUnityエンジニアとしてジョインした際に体験したことや、Gaudiyの特徴について紹介してみます。Unityを扱った会社や部署を立ち上げようとしている方や、Gaudiyについて興味がある方におすすめな内容になっていると思います。
Gaudiyとの出会い
最初に簡単な経歴について紹介します。社会に出てからは、ヘルプデスク業務をしながらプログラミングを勉強した後に、組み込みエンジニアとして転職しました。そこでは、産業機器用のマイコンプログラムの開発をしていました。
その後、三菱電機グループのシステム開発会社を経て、PanasonicグループのR&D部門へ転職しました。この時、Unityの開発に携わり、VRやメタバース技術に関連したアプリ開発を行っていました。そこから、これまでの経験を活かして起業、しばらくフリーランスとして活動した後、2022年11月からGaudiyに正社員としてジョインしました。
Gaudiyのことを知ったのは、Twitterのタイムラインに流れてきたCEO石川のツイートでした。そこでGaudiyがメタバースに着手することを知り、石川とのカジュアル面談を申し込みました。
Gaudiyが開発・提供しているWeb3時代のファンプラットフォーム「Gaudiy Fanlink」や今後のメタバース技術を組み合わせたサービス展開、さらに提携している超有名IPの存在などを聞き、人々にちゃんと使われるメタバースが作れるのではないかとGaudiyの将来性を見据えてジョインしました。
また、私は元々ヒエラルキーが苦手だったこともあり、会社員ではなく自営業の道を選んでいたのですが、GaudiyがDAO(自律分散型組織)的な組織であったこともジョインする決め手の一つでした。
Gaudiyでは「お試し入社」制度があり、約3ヶ月のお試し期間を経て、メンバー全員が働きたいと思わなければ正式入社できません。私もこの期間を乗り越え、無事に2023年3月から正式メンバーとしてジョインしました!
メタバース開発チームの立ち上げ
入社当時、メタバース開発チームにはPdM、バックエンドエンジニア、フロントエンジニアしかおらず、Unityエンジニアに至っては私一人だけでした。また、3DCGデザイナーも一人もいない状態でした。
メタバース開発の人材としては一人目だったので、まずは仲間集めからスタートしました。
その際に重視していた点としては、スピード感とスキルセットの補完関係です。Unity開発については既存のサービスが存在しないため、まずはスピード感を持って開発を進められるかどうか。また、自分が経験の浅い、シェーダーやグラフィック回りに強いUnityエンジニアの方を探していました。
また3DCGデザイナーの採用については、要件の設定が難しかったのですが、Unityエンジニアから3DCGデザイナーに対して要求するであろう業務に対して、柔軟に対応できる経験を持っているかどうかを重視していました。さらに、GaudiyではWebプラットフォーム上でUnityアプリを動作させるため、モバイル端末でも軽快に動作できる軽量な3DCGモデルが必要になります。それを実現する中容量のポリゴン数での制作実績も重視していました。
結果的に、業務委託メンバーを含めてUnityエンジニア3名、3DCGデザイナー2名を採用することができ、無事にスタートすることができました。
Unity開発で準備したこと
また、仲間集めと同時並行で、開発の準備も進めていきました。最初に、Unityでの開発をする上で必要な開発環境を整えるところから着手しました。具体的に行った作業は、以下になります。
開発機材の選定
UnityにおけるGaudiyのOrganizationアカウントの開設
Unityライセンスの購入
Editor(Rider)のライセンスの購入
アプリをアップロードするためのクラウドストレージを各環境毎に準備
GitHubActionsによる指定条件による自動ビルド/デプロイ設定
既存サービス(Fanlink)のプロトコルについて調査
AddressablesやDIコンテナの運用ルールの策定
コーディングルールや.editorconfig等の実装ルールの策定
リポジトリ等の運用ルールの策定
AssetStoreの購入ルールの策定
これらを最初に整備しておくことで、業務委託メンバーが増えてもスムーズに開発に入っていただくことができました。
Unityの開発方針と技術、スタイルについて
実際にどんな感じで働いているか想像しづらいかと思うので、Unityの開発方針や採用技術、開発スタイルについてご紹介します。
基本構成
GaudiyでのUnityアプリ開発は、既存のFanlinkというマルチテナント型のファンプラットフォームWebアプリ上における、UnityWebGLアプリケーションの開発が主となります。
リアルタイム通信や音声コミュニケーション、各種アセット、Bundle管理、CI/CDで用いるアセットやライブラリ、ツールなどは、性能や利便性、メモリ効率が高い技術を採用する方針のため、結果的に比較的新しいものが選定されています。
またGaudiy特有の部分として、既存のFanlinkのサービスとの繋ぎ込みなどを考慮する必要があり、Unityエンジニアとしては扱う機会が少ないであろうJavaScript(.jslib)、HTML、クラウドサービス、GraphQLを扱うこともあります。
また、Web3を代表する技術であるNFTを扱うケースも出てきますが、この点についてはFanlinkのバックエンド機能でラップされているので、NFT自体の基本的な知識は必要となるものの、API側とのやり取りは既存のWebサービスとの通信と大きく変わらないイメージです。
現在の技術やツール
Gaudiyのメタバース開発チームはまだまだできたばかりの組織であるため、使いたい技術をどんどん提案することも可能です。
具体的には、アセット管理システムのAddressablesやDIコンテナ用ライブラリのVContainer、マルチプレイに用いるリアルタイム通信ライブラリのPhotonFusionや音声通信に用いるLiveKit等を採用しています。
またEditorには、Unityで快適に開発を行えるRiderEditorや、福利厚生として有料サービスのChatGPTやCopilot等も利用することもできるので、トレンドを抑えたいUnityエンジニアにとっては最適な環境になっているなと感じています。
開発スタイル
Gaudiyではデュアルトラックアジャイルを採用していますが、メタバース開発チームも同様です。リーンキャンバスを用いて仮説検証されたものを開発しています。エンジニアはスクラムマスターやプロダクトオーナーと連携して、プロジェクトを進めています。
Web業界では一般的となりつつある開発手法ではあるものの、Unity関連の開発では採用されているところは少ないと思いますので、よろしければ以下の説明やリンクもご参照ください。
Gaudiyでの働き方とオフィスについて
働き方としては、基本リモートです。多くのメンバーが普段はリモートで働いています。
月に一度、出社推奨日がありますが、あくまで"推奨"であるため、出社しないという選択も可能です。私の場合は、東京のオフィスから遠方の大阪に住んでいるため、2〜3ヶ月に一回の出社ペースになっており、出社時にはメンバーと食事会などで交流を深めています。
またスキルアップについては、福利厚生で書籍購入の全額補助や有料セミナーへの参加補助等がある他、その他自己研鑽でAmazon以外の教材(Udemy等も含む)も一定額まで利用できるので、私の場合は枠内を使い切る形で制度を利用させてもらっています。
さいごに
いかがだったでしょうか?
発足まもないチームではありますが、現在、Fanlinkのサービスをさらに盛り上げるためのメタバースアプリの試作を行っています。一部のIP事業者からも好評を得ており、今のところプロジェクトは順調に進んでいますので、できるだけ早くリリースして皆さまの手に届けたいと思っています。
Gaudiyでは、エンジニアを積極的に募集しておりますので、もし興味がありましたら採用ページよりご応募お待ちしております 🙇
この記事が気に入ったらサポートをしてみませんか?