Epic Online Servicesのサンプルアプリの動かし方(Unity版)

Epic Gamesが提供しているEpic Online Servicesに関して使い方を解説します。

Epic Online Servicesはオンラインゲーム開発に使うプラットフォームです。

Epic Online Servicesを使うことのメリットは以下です。

・サーバ利用料無料、使用時間制限なし
・アンチチート機能を無料で使用可能
・ボイスチャット機能を無料で使用可能

開発する段階で多くの費用が掛かるところを無償提供しているので新規参入する敷居が低いです。


使用方法は大きく分けて３つあります。
・Epic Gamesのデベロッパーアカウント登録
・SDKダウンロード
・サンプルアプリの起動


それぞれ詳細に解説していきます。

※今回はWindows環境での実装になります。


#Epic Gamesのデベロッパーアカウントの登録

![eos1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2143773/08d12abd-f121-a30d-81b2-f58672396c66.png)

自分が選択した方法でアカウントを登録してください。

登録するとデベロッパーアカウントメニューを閲覧できます。

![eos2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2143773/3d6e6861-248b-4777-689c-0e395e3bf21f.png)

この画面の左にある「製品を作成」をクリックして作成してください。

![eos4.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2143773/de769912-da7b-3798-bf6a-6595c0ee1dd0.png)

製品名を入力することで作成できます。

次へを押すとカバー画像のアップロードの画面に進みますが、今回はスキップして良いです。


![eos5.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2143773/e0f5083f-ea20-8fb6-c155-facae868fc1f.png)

製品を作成すると製品の情報を閲覧できます。
メニュー一番下の「製品の設定をクリックするとサンプルアプリを動かすのに必要なIDを取得できます。

サンプルアプリを動かすのに必要なiDの種類は以下です。
####・プロダクトID
####・サンドボックスID
####・デプロイメントID
####・クライアントID
####・クライアントシークレットキー

このうち下の二つはデフォルトでは生成されないのでクライアントを作成して発行してください。

![eos6.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2143773/f4c6e3fe-0436-4635-56da-e3496f1da99f.png)

クライアント名を入力します。

クライアントポリシーは自分が作成した製品を選択します。


製品メニューの「ゲームのサービス」を選択すると初回のみ利用規約の同意画面が表示されるので一通り目を通して同意してください。

![eos7.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2143773/6d2e0d6a-f61a-2720-f10a-26df7ab79fdd.png)



#SDKのダウンロード

各種設定が完了したらSDKをダウンロードして解凍します。

https://github.com/PlayEveryWare/eos_plugin_for_unity


解凍したらアプリケーションファイルをUnityで開いてください。

![eos8.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2143773/446a5e7d-e620-dc70-2be2-40b8d9351820.png)

Unityエディタのメニューから Tools > EpicOnlineServicesConfigEditor　をクリックします。


先ほどの各種IDを入力する欄があるのでコピー＆ペーストで入力して Saveをクリックします。


自身が実行したいサンプルを開いてエディタの実行ボタンをクリックしてください。

![eos9.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2143773/ff1d0f71-d88a-cba6-1c35-e756a25a22e6.png)

緑色のバーはログイン方式を選択できます。
今回は[Dev Auth]を選択してください。

Hostの欄とUsernameはDev toolを用いて入力します。

![eos10.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2143773/9e36d11b-a457-ee9c-3e44-2dd0ff750b60.png)


ダウンロードしたSDKを開いて SDK > Tools > EOS_DevAuthTool-win32-x64-1.0.1にアクセスします。
EOS_DevAuthTool.exeファイルをダブルクリックします。

![eos11.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2143773/0fe0792d-5824-f43e-945c-b01f60f3e9cc.png)

ポート番号に適当な数値を入れてください。

![eos12.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2143773/3c561b45-02b5-383c-745c-02035a4e9f17.png)

アカウントのログインを求められますので作成したアカウントでログインしてください。

![eos13.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2143773/d7201c93-5db5-f7db-6d58-18c56c11d3f9.png)

クレデンシャルネームを求められるので適当な名前を入力してください。

完了するとアプリにログインできます。

![eos9.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2143773/cd08a897-8039-294c-5979-3dbda71fd89d.png)



入力形式は以下です。

Host: 127.0.0.1:ポート番号
Username: クレデンシャルネーム

ログインするとアプリの画面に移ります。

![eos14.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2143773/bcd30ba2-4ea4-b22c-ce53-718f4827eded.png)




#Epic Online Servicesのできること

Epic Online Servicesのサンプルアプリを用いてできることを紹介します。

###実績解除
![eos15.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2143773/14eac7b8-c947-ff4c-50f8-8370589b5ba2.png)

◌◌分以内にゴールした、◌◌点以上獲得したなど実績を設定できます。


###リーダーボード
プレイヤーのスコアをランキングにして表示できます。
![eos16.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2143773/8fa94bb2-ed6f-aa0b-aac5-aa0cd910f854.png)


###ロビー
グループの作成に利用できます。フレンド招待、チャット機能などあります。
![eos17.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2143773/a84b0780-5e65-5550-9da0-badeda08a3ea.png)


###P2PNAT
誰か特定の相手とP2P接続してチャットすることが出来ます。


###Data Storage
個人が所有するファイルをアップロードしてオンラインで保存できます。
200MBまでのファイルサイズのデータをアップロード可能です

![eos18.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2143773/8f8b3b52-a594-cbbc-0774-fcf361fedbdd.png)


###Session & Macthmaking
FPSの1マッチ、カーレースゲームの1レースなどゲームセッションを作成できます。

![eos19.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2143773/8e6507d0-cdb3-663b-8609-e0a4574d5f2c.png)



#まとめ
Epic Online Servicesの概要、メリットについて話しました。
EOSの使い方をデベロッパーアカウント登録、SDKダウンロード、サンプルアプリの起動の順で話しました。
サンプルアプリからできることについて話しました。

#案件募集
チームでUnityアプリ開発やWebアプリケーション開発を承っております。
プロトタイプ製作や技術検証なども対応いたしますので、エンジニアをお探しの方は是非ご相談ください。
Oculus Quest ( Meta Quest ) 向け、スマホ向け、PCのメタバースなどのご相談もお待ちしております。
問い合わせ先はコチラです！
https://forms.gle/Zqu4TKZgx1Vd3Xtm6