LoginSignup
4
1

More than 1 year has passed since last update.

UE4でアカウントシステムを作りたい!!!

Last updated at Posted at 2022-12-14

始めてQiitaを触ったのでかなり見にくいかと思います。ご了承ください。

BPでplayfabを利用してアカウントシステムを作る

調べた感じ公式がプラグインを用意しているのはplayfabしかありませんでした。ですのでこちらを利用していきたいと思います。

まずplayfabに登録してください(MSのアカウントで自分はログインしました)

次にこちらの公式プラグインをエンジンにインストールして有効化して下さい(無料です)

ue5に関してはまだ2022年12/11日現在5.0にしか対応していないようです

実際にBPを組んでいく

①まずはplayfabへの接続を行います

set playfab settingsノードをどこでもいいのですが始まったら呼び出してください。ここでGame Title IdとPlay Fab Secret Api Keyが必要です。
Idはstudio Idです。playfabの最初の管理画面にあります。
apikeyはstudio設定(歯車マークのやつ)→titlesetting→secret keysにあります。
スクリーンショット (74).png

②アカウントを登録できるようにします

ウィジェットを作成します。
テキストボックスはメアド、パスワード、名前が最低限あれば大丈夫です
スクリーンショット (75).png

後は各テキストボックスの値をstring型の変数に格納してRegister Play Fab Userノードに各値を渡してください(ノード下のカスタムイベントを追加しないとエラーになります・ノードは始め構造体になっているためノードのrequestピンを右クリックして分解してください)
スクリーンショット (76).png

ノードのを何らかの方法(ボタンとか)で実行すると登録が引数の情報をもとに登録が行われます

③ログイン処理を組みます
スクリーンショット (77).png

パスワードとユーザーネームのテキストボックスを用意してください
スクリーンショット (78).png

テキストボックスのデータをstring型の変数に格納してください。そしてLogin with Play Fabノードを呼び出し、requestピンを分解して変数のパスワードとユーザーネームを引数にセットして下さい。

スクリーンショット (79).png
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で分岐させます。

スクリーンショット (81).png

②データがなかった場合データを作成する

先ほどのif文でfalseだった場合、construc json string valueを呼んでas objectにセットしてset fieldのターゲットに戻り値をセットします。field nameは当然"coin"です。そしたらupdate user dataノードを呼び、requestを分解してrequest dataにset fieldの戻り値をセットしてください。これでアップデートできるはずです。
スクリーンショット (82).png

参考にさせて頂いたサイト

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1