【無料】セーブシステム
- SaveSystemダウンロード商品¥ 0
- SaveSystem (投げ銭)ダウンロード商品¥ 300
- SaveSystem (太っ腹な投げ銭)ダウンロード商品¥ 1,000

VRChat ワールドにテキストコピペ(復活の呪文)式のセーブ・ロードシステムを実装できるギミックです。SDK3&UdonSharp https://store.vket.com/ec/items/6388/detail/ にも同じものを置いてます
概要
ワールド内の複数の * GameObject の active * GameObject.transform.position * GameObject.transform.rotation * InputField.text * UdonBehaviour の float 変数 * UdonBehaviour の int 変数 * UdonBehaviour の string 変数 * UdonBehaviour の bool 変数 をセーブ・ロードできます。 ~~Persistenceが実装されたら用済みになるはず。~~ ★祝 Persistence 本番実装されました。晴れて用済みです。 デバッグ用に https://called-d.github.io/vrc-world-save-system/decoder/v1.1.0.html にデコーダーを置いてあります。
導入方法
VRChat Creator Companion `UdonSharp` テンプレートで作ったプロジェクトに SaveSystem.unitypackage をインポートしてください。 Assets/called_D/SaveSystem/Example of SaveSystem.prefab にサンプルがありますので、シーンに配置して確認してください。 SaveSytem オブジェクトの最初のUdonBehaviourが本体です。 「Create Root Container (Create Categories)」ボタンを押すことで管理方法をカテゴリ化側に移行します。 ワールドで実運用する場合、本体の Secret Token にランダムなパスワードを設定してください。他のところで使っているパスワード等は入れないようにしてください。 https://google.com/search?q=random+string などで 200文字設定で出せばいいと思います。
カテゴリ化機能について
セーブデータの形式は変わりませんが、バージョン 1.5.0 で対象指定のカテゴリ化、階層化機能を実装しました。
ライセンス
ライブラリ部分を除きCC0です。改造して使ってもらう前提なので。 ■ライブラリ * (MIT License) UdonHashLib Copyright (c) 2021 Devon (Gorialis) R * (MIT License) RC4 Copyright (c) 2019 Christopher Whitley
ChangeLog
v1.5.0 2023-12-14 カテゴリ管理への変換器を追加 v1.4.0 (internal) カテゴリ化を追加 v1.3.0 (internal) ワールド側で未定義のデータを保持するオプションを追加、ログ出力オンオフのオプションを追加 v1.2.0 2023-06-26: 負数バグ修正、rotation追加 v1.1.1 2022-11-27: VCC対応(正確には UdonSharp 1.x 対応?) v1.1.0 2022-05-08: RC4-drop パラメーター追加 v1.0.0 2022-05-03: 公開
技術的概要
おおむね以下の擬似コードのようになります ``` data = toJSON({ version, items: { key1: value1, key2: value2, ... } }); encrypted = rc4(data, password) output = sha256(data) + base64(encrypted) ``` 暗号学的にはあまり推奨されない古い形式で安全性は保証できませんが、一応普通の人がどうこうできない程度の暗号化と改竄耐性をもちます Data Dictionaries 来たのでゴリ押しparseやめたい