Slide 1

Slide 1 text

Qiita Engineer Festa 2023 〜私しか得しないニッチな技術でLT〜 UnityとGoogleCloudFunction を連携して社内サービスを作った話 2023/07/14

Slide 2

Slide 2 text

登壇者情報 Gra ffi ty(株) 所属Unityエンジニア 
 専門領域:サウンドプログラミング     @8bitdots Unityを中心とした情報発信などを行っています。 2 Qiita Engineer Festa 2023〜私しか得しないニッチな技術でLT〜 技術書の査読も 
 しています

Slide 3

Slide 3 text

Graffityは現在 toC向けの「ARゲーム事業」とtoB向けの「ARエンタメDX事業」に 
 フォーカスしています 3 Qiita Engineer Festa 2023〜私しか得しないニッチな技術でLT〜

Slide 4

Slide 4 text

UnityとGoogleCloudFunction を 連携して社内サービスを作った話 Qiita Engineer Festa 2023〜私しか得しないニッチな技術でLT〜

Slide 5

Slide 5 text

Unityって?

Slide 6

Slide 6 text

Unityとは • Unity Technologies が提供するゲームエンジン • 基本⾔語はC# • PC, iOS, Android, WebGL, コンシューマーゲーム機向けに 
 アプリをビルドすることが可能 • 国内スマホゲームは⼤体Unity製 • プラグインの導⼊でAR/VRなども対応可能 6 Qiita Engineer Festa 2023〜私しか得しないニッチな技術でLT〜

Slide 7

Slide 7 text

GoogleCloudFunctionって?

Slide 8

Slide 8 text

GoogleCloudFunction(GCF)とは • GoogleCloudPlatform 上で提供される Function as a Service • いわゆるサーバーレス • JavaScript, Python などのコードを実⾏可能 8 Qiita Engineer Festa 2023〜私しか得しないニッチな技術でLT〜

Slide 9

Slide 9 text

9 全然ニッチじゃないじゃん!?

Slide 10

Slide 10 text

Qiitaで「Unity」「CloudFunction」「GCP」で検索 10 Qiita Engineer Festa 2023〜私しか得しないニッチな技術でLT〜

Slide 11

Slide 11 text

Qiitaで「Unity」「GoogleCloudFunction」で検索 11 Qiita Engineer Festa 2023〜私しか得しないニッチな技術でLT〜

Slide 12

Slide 12 text

12 ⾃分が書いた記事しかヒットしない!

Slide 13

Slide 13 text

13 全然ニッチじゃないじゃん!? ニッチじゃん!?

Slide 14

Slide 14 text

Unity + GCF + GCSql で社内のデバッグ端末管理サービスを構築しました 14 Qiita Engineer Festa 2023〜私しか得しないニッチな技術でLT〜 実装:C# 実装:Python 実装:Python

Slide 15

Slide 15 text

Unity + GCF + GCSql で社内のデバッグ端末管理サービスを構築しました 15 Qiita Engineer Festa 2023〜私しか得しないニッチな技術でLT〜 デバッグ端末の貸し出し・返却フロー

Slide 16

Slide 16 text

Unity + GCF + GCSql で社内のデバッグ端末管理サービスを構築しました 16 Qiita Engineer Festa 2023〜私しか得しないニッチな技術でLT〜 返却期限すぎてる端末チェック&通知

Slide 17

Slide 17 text

Unity + GCF + GCSql で社内のデバッグ端末管理サービスを構築しました 17 Qiita Engineer Festa 2023〜私しか得しないニッチな技術でLT〜 NFCタグ 社員証(Felica)

Slide 18

Slide 18 text

Unity→GCFのEndpointを叩く部分で苦労した • cURLでのPOSTはOK • PostデータはJSON • UnityはUnityWebRequestというcURLの 
 ラッパークラスのようなものが存在 • UnityWebRequestで普通にEndpointを 
 叩いても400で弾かれた 18 Qiita Engineer Festa 2023〜私しか得しないニッチな技術でLT〜 https://qiita.com/Cova8bitdot/items/2aa8365f2dbbc1f2d81a

Slide 19

Slide 19 text

Unity→GCFのEndpointを叩く部分で苦労した • 解決方法 • UnityWebRequestにヘッダを書く • UnityWebRequestのDownloadHandler 
 UploadHandlerを書く • Post するjsonデータをバイナリ変換してアップロード • 理由:わからん!でもこれで動く!謎! 19 Qiita Engineer Festa 2023〜私しか得しないニッチな技術でLT〜 https://qiita.com/Cova8bitdot/items/2aa8365f2dbbc1f2d81a

Slide 20

Slide 20 text

まとめ • スマホゲーム等では Unity→APIサーバー(GCE/EC2) のようにAPIサーバーを用意することが多い • 社内サービス等小規模であればサーバレスの GCFやLambda で代替は可能 • 意外と既知の技術同士の組み合わせをやってない場合がある • ある意味ブルーオーシャン(水深1.5m) • Qiitaは「いつか誰かの役に立つだろう」という知見共有に最適! • たとえバズらなくても記事を書こう! 20 Qiita Engineer Festa 2023〜私しか得しないニッチな技術でLT〜

Slide 21

Slide 21 text

21 みなさんも⾊んな技術を組み合わせて 便利サービスを作っていきましょう!