【VRChatアバター&ワールドのパーティクル不具合に】Particle Compatibility Doctor
価格
¥0
商品説明
Particle Compatibility Doctor 1.0.0
Unity 2022.3用のEditor拡張。作者や商品を限定せず、Max Particles=0かつRing Buffer=LoopUntilReplacedを検出します。
開発の経緯
2026年10月2日に配信されたVRChat 2026.3.3アップデートにより、VRChatクライアントの内部UnityバージョンがUnity 6へ移行しました。
この移行に伴い、弊ショップの一部商品で使用していたParticle Systemの従来の挙動が変化し、一部のパーティクルがVRChat上で正常に表示されなくなる問題を確認しました。
なお、Unity Editor / ClientSim上では従来通り動作するため、現在、過去商品を含めて影響範囲の調査と修正を進めていましたところ、これら問題を修正するソフトウェアを開発することに成功しました。
各ユーザー様におかれましても、他ショップで購入したアイテムで不具合が発生している恐れがあると判断しましたことから、これらを解決するために、ソフトウェアの無料公開に踏み切ることにいたしました。
アバター内パーティクル、アセット内パーティクルに対し、絶大な効果を発揮します。
使い方
- 解凍したフォルダ内にあるunitypackageをインポート。
- Tools > Particle Compatibility Doctorを開く。
- Scan Hierarchy: 開いているScene/Prefab Stageの非アクティブを含めて検査。
- Scan Project: Assets内のPrefab(Nested/Variant含む)とSceneを検査。
- 結果のSelectでHierarchyの対象またはProjectのアセットを選択。
- AutoFixで1件、AutoFix Allで全検出を修正。
- AutoFixはMax Particlesだけを既定1000へ変更。値はウィンドウで変更できます。Ring Buffer・Lifetime・Emission等は維持します。
- 1000は汎用の初期値で、見た目・残留量・負荷を保証する値ではありません。各プロジェクトで確認してください。
- 開いているScene/HierarchyはUndo対応で保存は手動。ProjectのPrefab/閉じたSceneはその場で保存するためバージョン管理やバックアップを推奨します。
- Nested/Variantでは必要なoverrideを保存します。同じParticleが複数アセットから参照される場合、修正後に再スキャンしてください。
範囲と制約
- Assets内の保存済みPrefab/Sceneと現在のHierarchyを対象とします。Packages内、外部の未同梱アセット、実行時にコードで生成/変更される設定は対象外です。
- Max=0でもRing Bufferが異なるParticleは今回の問題として列挙しません。
- Scene調査は加算ロードを使用するため、プロジェクト側のEditor/ExecuteAlwaysコードが呼ばれる可能性があります。
- 診断は設定を変更しません。Play ModeではProject診断とAutoFixを無効にします。
- VRChat実機での修正効果は確認済みです。