AzurePlayfabとUnrealEngineを連携してオンラインシステムを構築します
調べた感じ公式がプラグインを用意しているのはplayfabしかありませんでした。ですのでこちらを利用していきたいと思います。
まずplayfabに登録してください
https://developer.playfab.com/en-us/sign-up次にこちらの公式プラグインをエンジンにインストールして有効化して下さい(無料です)
https://www.unrealengine.com/ marketplace/ja/product/playfab-sdk①まずはplayfabへの接続を行います
set playfab settingsノードをどこでもいいのですが始まったら呼び出してください。ここでGame Title IdとPlay Fab Secret Api Keyが必要です。
Idはstudio Idです。playfabの最初の管理画面にあります。 apikeyはstudio設定(歯車マークのやつ)→titlesetting→secret keysにあります②アカウントを登録できるようにします
ウィジェットを作成します。
テキストボックスはメアド、パスワード、名前が最低限あれば大丈夫です後は各テキストボックスの値をstring型の変数に格納してRegister Play Fab Userノードに各値を渡してください(ノード下のカスタムイベントを追加しないとエラーになります・ノードは始め構造体になっているためノードのrequestピンを右クリックして分解してください)
ノードのを何らかの方法(ボタンとか)で実行すると登録が引数の情報をもとに登録が行われます
③ログイン処理を組みます
パスワードとユーザーネームのテキストボックスを用意してください
テキストボックスのデータをstring型の変数に格納してください。そしてLogin with Play Fabノードを呼び出し、requestピンを分解して変数のパスワードとユーザーネームを引数にセットして下さい。
successコールバックが来たらピンを分解してその中にあるplay fab idをgameinstanceとかに保存してください
今回はデータがあるか確認してあった場合表示してなかったら作成して表示するbpを組みます
①データがあるか確認する処理を組む
先ほどgameinstanceにplayfabIDを保存したと思いますが、そのデータを引数にGet user Dataノードを呼んでください。keyはなんでも構いません。今回は"coin"にしました。
そしてsuccessコールバックを分解してget fieldを呼びます。nameは先ほど設定した"coin"です。それをas objectへ戻り値を渡し、さらにその戻り値からget string fieldを呼びます。field name は"value"です。そしてデータがなかった場合戻り値のstringを使用すると警告が出るのでas objectの戻り値をis validを使ってifで分岐させます。②データがなかった場合データを作成する
先ほどのif文でfalseだった場合、construc json string valueを呼んでas objectにセットしてset fieldのターゲットに戻り値をセットします。field nameは当然"coin"です。そしたらupdate user dataノードを呼び、requestを分解してrequest dataにset fieldの戻り値をセットしてください。これでアップデートできるはずです。