Epic Online Services のサンプルを動かしてみた

以下のクイックスタートガイドのサンプルを動かしてみたいと思います。

クイック スタート ガイド | Epic Online Services ドキュメンテーション

ここではアカウントの設定は終わっているものとします。以下の記事の Dev Portal の設定が終わっているとスムーズです。 [UE4] UE4.27 の新機能 Online Subsystem EOS を使ってみる - Qiita

環境

SDK のダウンロード

サンプルは SDK に添付されているので、まずは Developer Portal から SDK をダウンロードしてきます。

https://dev.epicgames.com/portal

SDK をダウンロードするボタンがどこかにあるので、そこから以下のフォームがある場所に移動しダウンロードします。今回は以下のものをダウンロードしています。

f:id:you1dan:20220108083933p:plain

unzip すると以下の Samples が確認できます。 f:id:you1dan:20220108084405p:plain

サンプルプロジェクトを VS 2019 で読み込む

sln を読み込むとさっそく以下が表示されました。 f:id:you1dan:20220108085009p:plain

今回はそのまま OK しました。
進行するのですが、やたらと以下の Git に関するプロンプトがでてきます。事前にファイルの設定を変更しておくべきだったのかもしれませんが、今回はとにかく OK していきました。 f:id:you1dan:20220108085243p:plain

終了しました。

Auth インターフェースを動かしてみる

Auth and Friends サンプル | Epic Online Services ドキュメンテーション

今回は以下の DirectX でのビルドを試してみます。 https://dev.epicgames.com/docs/services/ja/EpicAccountServices/AuthInterface/AuthSample/index.html#windowsdirectx

以下の設定で AuthAndFriends プロジェクトをビルドします。特に問題なく成功しました。 f:id:you1dan:20220108090817p:plain

期待通りのバイナリが生成されています。 f:id:you1dan:20220108091003p:plain

起動させる

AuthAndFriends.exe を起動すると以下のようにエラーが表示されます。 f:id:you1dan:20220108091258p:plain

Product Id, Sandbox Id, Deployment Id が足りないとなっています。

以下でコマンドラインパラメータ経由で渡せるとなっているので、それを使って渡してみます。 https://dev.epicgames.com/docs/services/ja/EpicAccountServices/AuthInterface/AuthSample/index.html#コマンドラインパラメータ

このコマンドラインパラメータに少し罠があって、sandboxId, deploymentId はドキュメント上は日英両方とも IdI が大文字なのですが、パラメータとしては小文字の i、つまり sandboxid のようにする必要があります。Shared/Source/Utils/CommandLine.h に定義があります。

起動できない

パラメータを揃えると、今度は起動できなくなりました。しかもコンソールにも何も表示されません。
Visual Studioデバッグ実行してみましたが、以下の箇所でエラーを出し続けてしまいます。 f:id:you1dan:20220108093949p:plain

パラメータを揃えて起動してみる

まだ clientidclientsecret を指定していなかったので、そこも指定しました。最終的には以下です。

AuthAndFriends.exe -productid xxx -sandboxid xxx -deploymentid xxx -clientid xxx -clientsecret xxx

これで無事起動させることができました。

f:id:you1dan:20220108094338p:plain

ログインする

Dev Auth でログイン

まずは Dev Auth、つまりディベロッパー認証ツールでログインしてみます。 デベロッパー認証ツール | Epic Online Services ドキュメンテーション

SDK に添付されているので以下の場所にあります。今回は Win なので EOS_DevAuthTool-win32-x64-1.0.1 を unzip しました。 f:id:you1dan:20220108095407p:plain

EOS_DevAuthTool.exe を起動し、ポートを 9000 としてみます。 f:id:you1dan:20220108100232p:plain

ログインして Context_1 としました。 f:id:you1dan:20220108100412p:plain

AuthAndFriends の方に戻り、 Dev Auth ツールの設定情報を入力します。 f:id:you1dan:20220108100446p:plain

すると以下のようにログイン状態となり、Friends が一覧されます。(ぼかしを入れていますが、表示されています) f:id:you1dan:20220108100703p:plain

Account Portal でログイン

ブラウザが開き、Epic アカウントでのログインの後、以下が表示されますので「許可する」をクリックします。 f:id:you1dan:20220108101255p:plain

Dev Auth 利用時と同様にログイン状態となり、Friends が表示されました。

Device Code でログイン

Device Code でログインをクリックすると、CONSOLE エリアにログイン コードを含んだ URL が表示されます。 f:id:you1dan:20220108102814p:plain

これをブラウザで開くと以下が表示されます。「アプリに進む」をクリックすると、Account Portal 時ど同様の画面が表示されるため「許可する」とすれば、アプリ側でもログイン状態となりました。 f:id:you1dan:20220108102844p:plain

まとめ

コードに関しては眺める程度ですが、ひとまず動かして確認できるようになりました 🎉