RobloxStudioでPlayerRemovingなどの終了イベントを利用するときに気をつけること

RobloxではPlayerRemovingを利用することでプレイヤーがゲームを終了するときに何かしらの処理を行うことができる。よくあるのはその時点のゲームのストアなどをサーバに保存する方法だろう

通常であればRoloxのゲーム内で最後のプレイヤーが退出してもしばらくはゲームが終了しないので、PlayerRemovingでDetaStoreの保存のような非同期処理を実装しても、ほぼ問題なく実行される

ただしRobloxStudioで実行する場合ゲームを停止した瞬間にゲームが終了するため、DataStoreの保存処理が正常に保存されない

対応方法

PlayerRemovingのイベントにて非同期のメソッドを呼んだときの検証を行う場合はゲームを一度公開して、そこで確認するようにする