Programming in VRChat

VRChat でのプログラミングについて調べたことの書き溜め

Persistence(パーシステンス、ワールドの保存機能) / 前編:一般ユーザー向け解説

この前編では VRChat の Persistence 機能を一般ユーザー向けに解説します。後編ではワールドクリエーター向けの解説をします。

注意:この記事は現在(2022/9/20)Closed Beta 段階での情報を元に、公開されたドキュメントに基づいて執筆しています。リリースされるまでには名称などの表記や機能の詳細は変化する可能性があります。

どんなもの?

ワールドの情報の保存復元機能が作れる

  • VRChat の Persistence(パーシステンス)は例えば「ワールド設置ミラーの表示オン・オフ設定が保存できて、次回訪問時に自動で復元される」とか「ゲームワールドで自分のハイスコアが保持されて、再訪した時に表示される」とか、そういうワールドを作れるようになる機能です。

保存した情報は「User Data」

  • この機能で保存した情報のことを「User Data(ユーザー・データ)」と呼びます。
  • なお、クリエーター向けの技術用語では、この機能は「persistence(パーシステンス)」と呼ばれます。

(執筆メモ:リリース時の用語を確認 Closed Beta の中で「用語が整っていないのでは」というフィードバックが出て、整理がされている最中です。

知っておくと良い特徴

この機能の活用の仕方は、ワールドの作り次第

  • この保存を使って「何が出来るか」そのために「どういう操作をするか」は、ワールドや設置物(ギミック)の作者がどう作るかによって変わります。
  • 例えば「ミラーのスイッチを押したら、それだけで保存されて次回訪問したら復元される」というスタイルもあるでしょうし、 お絵描きワールドで「『この絵を保存する』のようなボタンがあって場所を指定して何個か保存できる」というようなスタイルのものも作られるかもしれません。
  • そのように、ワールド内での操作の提供はワールド作成者に任され、VRChat 自体の UI のメニューに保存復元操作のようなものは用意されません。

データは「ユーザーアカウントごと、ワールドごと」にサーバーに保存

  • 保存はアカウントごとなので、例えば「Quest でワールドに入って、後に PC で入ったときにデータを引き継げる」というように、機器を変えても同じアカウントであればデータが引き継げます。
  • ワールドを巡っていると「あちこちでよく目にする、あの設置物」というのがあると思いますが、設定はそれぞれになります。
    • このため「同じ設定をあちこちでする必要がある」のような、ちょっと不便なことは起きるかもしれません。
    • ワールドを越えての引継ぎが出来ると、連作のゲームワールドとか作れるようになって楽しげなのですが、それは将来に期待しましょう。

保存したデータを消す操作が VRChat の web サイトに設けられます

  • ワールドの詳細ページをサイトで見ると、保存したデータがあれば消去のための「Reset User Data」ボタンが現れます。
  • 注意:サイトで削除するときは、そのワールドのインスタンスから出ている必要があります。入っていると即座に新たに保存してしまうかもしれません。(実際にどうなるかはワールドの作りによります)
  • 自分のプロフィール設定画面の「Reset All User Data」ボタンで「全てのワールドを対象に、自分の記録を全て消す」ということもできます。

(執筆メモ:ベータになったらスクショを貼る)