
2025.03.07
メール対応担当の8割以上が「カスハラ被害」に クレームのハード化・長期化を防ぐ4つの対策
FirebaseとUnity(全1記事)
リンクをコピー
記事をブックマーク
gremito氏(以下、gremito):では「FirebaseとUnity」ということでLT始めたいと思います。よろしくお願いします。
(会場拍手)
トップバッターということで、すごく簡単に話していこうと思います。今日のこのスライドはコードは一切ないので軽く。月曜ということでお疲れだと思うので、気楽に聞いてもらえればなと思います。
自己紹介です。岩本と申します。
ネットではgremitoというアカウントでよく活動しています。最近はUNIBOOKを書いたり、八耐というイベントもやっていたりします。
Unityとは? みなさんご存知だと思いますが、よく言われているのはゲームを開発するツールですかね。ゲームエンジンとも呼ばれています。
それはすでに過去の話で、今ではAR、VR、映像系でも使われています。グラフィック周り、3D、2D周りでソフトウェアを作るときによく使われるツールになってきています。FirebaseはそんなUnityをサポートしていて、そんな話をこれからしていきます。
Firebaseは、これだけSDKを提供しています。
Unityしか扱ったことがないとか、サーバーサイドを全然知らないという人でも扱いやすくサポートしていて、しかもドキュメントもしっかり作られているんですよね(笑)。
すでに公式ドキュメントを見ている人も多いかと思うんですけれども、それだけやり応えがあるって感じがしますよね。
何を提供しているかと言うと、ネイティブプラグインと言われている、最終的にはiOSやAndroidにビルドして使えるような形で、Unityが提供しています。
先々週か先週(注:イベント開催日は4月2日)くらいに、ほそ道さん(@jshosomichi )という方が登壇されたスライドなんですけれども、おもしろかったので紹介させていただこうと思います。
「Firebaseってモバイルアプリを役立たさせるBaaSと呼ばれるものだよね」というプレゼンテーションですが、ほそ道さんはフロントエンドの方なんですけれども、新規事業のプロトタイプを作るということで、その際にFirebaseを使った事例の紹介でした。
今回資料を使わせてもらいますが、この資料では「Noサーバインスタンス、Noサーバサイドエンジニア」ということで、フロントエンジニアがサーバーの知識がそれほど無い状態でもプロトタイプまでは作れました、という話でした。
おそらく、実際にサービスインまでできるような形だったりするんですよね。こうした図のようにサービスを作っていくんですが、Unityもこんな形でできちゃいます。
1点、ベータ版であるCloud Firestoreがまだサポートされていないと思うんですが、使うとしたらRealtime Databaseなんですけども。まあ、そのうち(Unityにも)SDKが出るんじゃないかな、というところで書かせてもらってます。
実際、iOS、Androidでビルドして、そこで提供されているFirebaseのSDKを使ってサービスを作っていくような形になると思いますが、Unityはマルチプラットフォームと呼ばれているツールでもあって、いろいろビルドができます。
最近では、WebGLもホットになってきて、ここにも(Firebaseを)使いたいときは、RESTAPIや資料上に書いていませんが、JavaScriptのSDKを使って、対応できることはできます。
Firebaseはいろんな用途に応じて、設計しやすいようなSDK提供がされているので、「これは使うしかないよね」ということで、いろいろ触って思ったことをこれから話していきたいと思います。
実際にFirebaseを用いてUnityで開発するとなると、こんな形になります。
何が言いたいかと言うと、共通化がすでにされているので、サーバーサイドの学習コストを通常よりもかけずにFirebaseを使うことができサーバー側の開発が短縮できます。
そして、先ほど言ったネイティブプラグインなんですが、これは何ぞや? という話だと思いますが、UnityではよくあるSDK提供の形なんで、C#とネイティブコードが主になります。
実際に、ネイティブプラグインと言われているAndroidやiOSの機能を呼び出すところのスクリプトは、Androidだとjarファイル、.aファイルなどが提供され、ネイティブの機能が使えるようになります。
一番上がC#で従来だと、次にAndroidでは、.aarファイルやjarファイルで最初は提供されていたんですけれども、最近は.aarファイルで提供されていました。iOSは生のObjective-Cで提供されていました。
Firebaseは、これらの形とは異なりdllファイルがほとんど.でした。
Androidは何も書いていませんが、実際にはAndroidマニフェストがちゃんとあります。先ほどの.aarファイルとかではなくて、おそらく上のFirebaseならではの拡張子(.srcaar)を使って、SDKを提供されているんじゃないかなと思います。
そして、どこがネイティブプラグインになっているかと言うと、.dllのところでおそらくC++やC#をパックにしていてSDKを提供しているようです。この.dllファイルは、ネイティブコードのパッケージになっています。
従来では、SDKを独自カスタマイズができやすい作りになっていたものの、Firebaseに関しては、独自カスタマイズできない状態で提供されていました。Firebaseは、独自カスタマイズしなくても良い、資料上のようにスッキリとした設計でSDK提供されているようです。
それでも「やっぱり独自のFirebaseのSDKを独自カスタマイズしたい!」みたいな変態さんがいるんですよ。僕もそのうちの1人なんですけれども(笑)。ネイティブプラグインとは、Android・iOSで提供されている機能をUnityで扱えるようにする。
独自カスタマイズする際には、先ほど紹介したネイティブプラグインを実際に作ることになります。
最近はVRが有名なので、VRを作るとなるとやっぱりPC、とくにWindowsで作ると思います。
そういえば、Appleが最新のHigh Sierraで外部GPUをサポートするとニュースがあって、おそらくその目的は「VR開発してよ」というアプローチなのかなって思います。
実際にそれでFirebase使いたくなったら、現状だと資料上のWebGLのようにRESTAPIを使って作っていくんじゃないかと思います。
FirebaseとUnityを連携させて開発するにあたって押さえておきたい話があります。まず1つが、ゲーム開発でクライアントやフロントエンドの人って、ゲームを面白くするために集中して作りこむので、バックエンドはお任せっていうことが少なくありません。でもFirebaseの一つひとつのサービスを知って、どうやって作っていくかをちゃんと知ってればゲームと一緒に開発できます。
その際、すでにローンチされているサービスがどうやって作られているのか話されている資料を参考にすると、然程難しく無いです。
2つ目に、独自のFirebaseのSDKを作るときは注意が必要です。この間GDCで、Firebaseは、Windowsマシン上のUnityへのSDK提供が発表されました。
Windows使ってVR開発している僕の知り合いに「VRでもFirebaseのFirestoreとかあのへんのサービスを使って、サービスを作りたいんだよね」という話をしていたんです(笑)。でも、この発表があったから結局作らなくてよかった、と。なので注意が必要なのです。
何が言いたいかと言うと、クライアントだけの話ではなく、サービス全体で意識して開発することが大事です。
Unityを使っている人はUnityだけで話が終わってしまったり、面倒くさいことはやらないみたいな。「3D上でやらなくちゃいけないことがあるから、サーバーなんて考えてられないよ」となりがちです。これは、別に悪いことではないです。
でも、サービスとしてユーザーに提供するというところは一緒なので、全体をちゃんと見据えてサービスを作っていくというところは意識して開発すると良いと思います。そんなきっかけ作りにもあると思い、最近Firebaseを使い始めました。
ご静聴ありがとうございました。
(会場拍手)
2025.03.07
部下へのフィードバックで最初に伝える一言 何度も指摘せずに済むマネジメントの秘訣
2025.03.04
チームが協力しないのはマネジメントの問題 “協働意識”を高めるマネージャーの特徴とは?
2025.03.05
「一人前のエンジニア」になるために必要なこと 未経験からフルスタックエンジニアへの道筋
2025.01.28
適応障害→ニート→起業して1年で年収1,000万円を達成できたわけ “統計のお姉さん”サトマイ氏が語る、予想外の成功をつかめたポイント
2025.01.07
1月から始めたい「日記」を書く習慣 ビジネスパーソンにおすすめな3つの理由
2025.03.03
大企業で成功したマネージャーが中小企業で苦戦する理由 “指示待ち”部下を主体的に動かす方法
2025.03.05
「はい、わかりました」と返事をした部下が“かたちだけ動く”理由 主体性を引き出すマネジメントの鍵
2025.03.06
細かく指示出し、何度も確認…部下に悪影響をもたらすマネジメント 過干渉にならない「適度な管理」と任せるコツ
2015.11.24
人は食事をしないとどうなるか 餓死に至る3つのステップ
2025.03.12
新規事業を継続するかどうかを見極める2パターンの判断軸 会社の規模別「撤退基準」の設け方