設定リファレンス
各コンポーネントの Inspector 項目です。「【自動】」と表示されている項目は生成時に自動で設定されるため、通常は触る必要がありません。
StaffRegistry(スタッフ名簿)
「今誰がスタッフか」をインスタンス全体で同期管理する中核です。1シーンに1つだけ配置します。各ギミックはここに登録して、スタッフ状態の変化を受け取ります。

| 項目 | 型 | 既定 | 内容 |
|---|---|---|---|
| 初期スタッフ名一覧 | string[] | 空 | ジョイン時に自動でスタッフ ON にする表示名の一覧(完全一致) |
| 名簿は起動時に自動ON | bool | ON | 名簿掲載者のジョイン時に自動でスタッフにする |
| 再入場でスタッフ自動復帰 | bool | ON | 手動で ON にした人が再入場したとき自動で復帰させる(VRChat Persistence を使用) |
| ログ出力する | bool | OFF | スタッフの追加・削除を Console に出す |
アップロード前に確認
「ログ出力する」が ON のままだと、公開後もスタッフの表示名が Console に出続けます。アップロード前チェックが警告を出しますが、アップロードは止まりません。OFF にしてからアップロードしてください。
ローカルでの動作確認は、スタッフ切替スイッチで自分をスタッフにして行ってください。
StaffMenuShell(メニュー本体)
メニューの開閉・表示位置・スタッフ判定の門番を担当します。個々の機能はパネルとして分離されています。

開閉操作
| 項目 | 型 | 既定 | 内容 |
|---|---|---|---|
| 開く保持秒 | float | 0.5 | 開閉に必要な長押し秒数(目安 0.3〜0.7) |
| Desktop開閉キー | enum | Tab | Desktop で開閉に使うキー(Tab / F1〜F4 / B / G / N)。VR では未使用 |
| スティック下しきい値 | float | -0.7 | VR で開閉判定する右スティック下倒し量(-1〜0) |
表示
| 項目 | 型 | 既定 | 内容 |
|---|---|---|---|
| 表示距離 | float | 0.55 | 開いた瞬間に頭前方へ出す距離(m。目安 0.5〜0.7) |
| 表示の下オフセット | float | 0.12 | 画面中央から下へずらす量(m) |
| 表示スケール | float | 0.85 | メニュー全体の大きさ倍率(1 で標準) |
| 離れたら自動で閉じる | bool | ON | 開いた場所から離れると自動で閉じる |
| 自動で閉じる距離 | float | 3 | 自動クローズの距離(m)。0 以下で無効 |
| 初期パネル | int | 0 | 最初に開いたときに表示するパネル番号(0 = 1番目)。2回目以降は前回開いていたパネルが表示される |
| ログ出力する | bool | OFF | 開閉・パネル切替のログを Console に出す |
StaffIncomRadio(インカム)
チャンネルの参加・離脱と発話を担当します。同じチャンネルのメンバーの発話だけが、距離に関係なく聞こえます。
配置場所の制約
メニュー配下ではなく、常時アクティブなオブジェクトに置く必要があります。メニューを閉じた状態でも発話できるようにするためです。誤って配置した場合は、このコンポーネントの Inspector に注意書きが表示されます。

動作モード
| 項目 | 型 | 既定 | 内容 |
|---|---|---|---|
| スタッフ限定モード | bool | ON | 送信中の声を同チャンネルのメンバー以外に聞かせない(密話)。ワールドに焼き込まれ全員一律。OFF にすると、無線が届かない相手にも通常の声(距離減衰あり)として聞こえる |
| 送信解除の待ち秒 | float | 0.3 | 発話終了から送信を切るまでの待ち時間(語尾切れ防止。目安 0.2〜0.4) |
| 最大送信秒 | float | 120 | 押しっぱなし防止の強制切断秒(目安 60〜120) |
VR ジェスチャー発話
| 項目 | 型 | 既定 | 内容 |
|---|---|---|---|
| VRジェスチャー発話を使う | bool | ON | 手を体の指定位置に近づけてトリガーを引くと発話する |
| 発話ジェスチャー位置 | enum | 耳 | 手を近づける位置(耳/肩/胸元) |
| 発話する手 | enum | 右 | トリガーを引く手(プリセット位置も左右反転する) |
| 判定半径 | float | 0.20 | 手がその位置に来たと判定する半径(m。目安 0.15〜0.25) |
音
| 項目 | 型 | 内容 |
|---|---|---|
| 無線音源 | AudioSource | ビープを鳴らす AudioSource(2D・Play On Awake OFF 推奨) |
| 送信開始音 / 送信終了音 | AudioClip | 送信の開始・終了のビープ(任意) |
受信ビープ(StaffIncomReceiveBeep)
自分の受信チャンネルで誰かが話し始めた/全員が話し終えたときに、聞き手に小さな音を鳴らす補助コンポーネントです。
| 項目 | 既定 | 内容 |
|---|---|---|
| 受信開始音 / 受信終了音 | — | 鳴らす AudioClip |
| 監視間隔秒 | 0.25 | 発話状態を確認する間隔 |
チャンネルに参加していないときは、全体チャンネルの発話だけを拾います。
StaffBroadcast(一斉メッセージ)
定型文をスタッフへ一斉送信します。受信側は前面通知・通知音・履歴で受け取ります。サーバー時刻を見て、レイトジョイン時に古いメッセージが再表示されるのを防いでいます。
配置場所の制約
StaffIncomRadio と同じく、常時アクティブなオブジェクトに置く必要があります。
内容
| 項目 | 型 | 既定 | 内容 |
|---|---|---|---|
| プリセット | string[] | 15件 | 送信できる定型文。TMP のリッチテキストが使える。専用の編集ウィンドウあり |
| プリセットカテゴリ | string[] | 接客/CH誘導/移動/指示 | 各定型文のタブ分けカテゴリ名(プリセットと同じ順序)。空欄は「その他」 |
通知の表示
| 項目 | 型 | 既定 | 内容 |
|---|---|---|---|
| 表示秒 | float | 6 | 受信通知を自動で消すまでの秒数 |
| 通知距離 | float | 1.0 | 通知を頭前方へ出す距離(m) |
| 履歴件数 | int | 16 | 画面下部に残す受信履歴の件数 |
| 追従する | bool | ON | 表示中の通知を視界に追従させる(追従を始める角度と速さは固定値) |
自分宛の強調・音
| 項目 | 型 | 既定 | 内容 |
|---|---|---|---|
| 自分宛を強調する | bool | ON | 個別指定された自分宛メッセージを強調表示(全員宛には付かない) |
| 自分宛プレフィックス | string | <color=#FFD24D>【あなた宛】</color> |
自分宛メッセージの先頭に付ける目印 |
| 通知音 | AudioSource | — | 受信時に鳴らす音(任意) |
| 送信音 | AudioSource | — | 送信した瞬間に自分にだけ鳴る確認音(任意) |
StaffTeleportMenu(テレポート)
登録地点への移動と、在室スタッフの元への移動を担当します。移動はローカルのみのため同期は不要です。
行き先
| 項目 | 型 | 既定 | 内容 |
|---|---|---|---|
| 行き先一覧 | Transform[] | 空 | テレポート先(位置と向き)。専用の登録ウィンドウあり。上限16件 |
| 行き先名一覧 | string[] | 空 | 各ボタンの表示名(行き先一覧と同じ順序)。未入力なら Transform 名を使う |
| 未選択テキスト | string | 行き先を選択してください | 行き先未選択時の表示 |
着地位置
| 項目 | 型 | 既定 | 内容 |
|---|---|---|---|
| ばらつかせる | bool | ON | 着地位置を水平方向へ 0.3〜0.8m ランダムにずらす(重なり防止)。登録地点・在室スタッフの両方に適用。「戻る」には適用されない |
| スタッフ背後距離 | float | 1.0 | スタッフの元へ飛ぶとき、相手の背後何 m に降りるか |
演出・連携
| 項目 | 型 | 既定 | 内容 |
|---|---|---|---|
| ワープ音 | AudioSource | — | テレポートの瞬間に自分にだけ鳴る効果音(任意) |
| お気に入りON色 / OFF色 | Color | テーマ色 | ★マークの色(生成時にテーマの色が入る) |
スタッフ限定オブジェクト
これらのコンポーネントは registry(StaffRegistry)の割り当てが必須です。単品ボタンや右クリックメニューから設置した場合は自動で割り当てられます。
StaffOnlyButton(スタッフ専用ボタン)
2つのモードがあります。
| モード | 動作 | 向いている用途 |
|---|---|---|
| コライダー制御(標準) | 対象 Collider をスタッフのときだけ有効にする | 既存のインタラクトを改造せずスタッフ限定にしたい |
| 発火先呼び出し | 自身がインタラクト口になり、指定した Udon のイベントを呼ぶ | 押したときの動作を自分で決めたい |
発火先呼び出しモードについて
こちらは付加的な機能で、すべてのギミックでの動作を保証していません。標準はコライダー制御方式です。既存のボタンをスタッフ限定にしたい場合は、まずコライダー制御を試してください。
| 項目 | 型 | 既定 | 内容 |
|---|---|---|---|
| モード | enum | コライダー制御 | 上記2モードの切替 |
| 対象コライダー | Collider | — | スタッフ時のみ有効にする Collider。未設定なら自分の Collider |
| 発火先 | UdonSharpBehaviour[] | — | スタッフが押したときに呼ぶ相手の Udon(上から順に発火) |
| イベント名 | string[] | — | 発火先で呼ぶイベント名(Inspector で発火先から選択できる) |
| 拒否メッセージテキスト | TMP_Text | — | 非スタッフが押したときに表示する TMP(任意)。発火先呼び出しモードでのみ働きます(コライダー制御モードでは非スタッフはそもそも押せません) |
| 拒否メッセージ | string | <color=#FF6060>スタッフ専用です</color> |
拒否メッセージの内容 |
| 拒否メッセージ表示秒 | float | 2 | 表示する秒数 |
StaffOnlyArea(スタッフゲート)
非スタッフのときだけ壁のコライダーを有効にして、物理的に通れなくします。判定は各自のローカルで行われます。
| 項目 | 型 | 内容 |
|---|---|---|
| 壁コライダー | Collider | 非スタッフを通さない壁(isTrigger は OFF)。未設定なら自分の Collider |
| 壁の見た目 | Renderer | 任意。設定すると壁の有効・無効に合わせて表示も切り替わる |
StaffOnlyVisibleSelf(スタッフだけ見える)
自分と配下の Renderer / Collider / Canvas の有効・無効を切り替えます。SetActive は使わないため、Udon の動作や音は止まりません。
| 項目 | 型 | 既定 | 内容 |
|---|---|---|---|
| スタッフに見せる | bool | ON | ON = スタッフのときだけ見える/OFF = 一般のときだけ見える |
完全に消したい場合
音や配下ギミックの動作ごと止めたい場合は、StaffOnlyVisible(一括マネージャ)を空の GameObject に手動で付け、その配列に対象を登録してください。GameObject ごと SetActive で切り替わります。メニューからの設置口は用意していません(推奨の Self 版と紛らわしいため)。
StaffOverheadMarker(頭上マーカー)
スタッフの頭上に目印を表示します。目印は常に自分のカメラの方を向きます(水平回転のみ。文字は直立を維持)。
| 項目 | 型 | 既定 | 内容 |
|---|---|---|---|
| スタッフのみに見える | bool | ON | ON = 自分がスタッフのときだけ見える/OFF = 全員に見える |
| 頭上の高さ | float | 0.45 | 頭の何 m 上に出すか |
| マーカー | GameObject[] | — | 必須。目印オブジェクトのプール。要素数が同時表示できる上限になる(既定 16) |
StaffGrantSwitch(スタッフ切替スイッチ)
インタラクトすると、押した本人のスタッフ状態が ON / OFF します。
| 項目 | 型 | 既定 | 内容 |
|---|---|---|---|
| 状態表示テキスト | TMP_Text | — | 今の自分の状態を表示する TMP(3D / UI どちらも可・任意) |
| ON時テキスト | string | <color=#00FF00>あなた: スタッフ ON</color> |
スタッフ ON 時の表示 |
| OFF時テキスト | string | <color=#AAAAAA>あなた: 一般</color> |
スタッフ OFF 時の表示 |
StaffPurgeSwitch(スタッフ一括解除スイッチ)
2回インタラクトすると、スイッチで付与されたスタッフを全員ぶん解除します。押せるのはスタッフだけで、初期スタッフ名一覧に載っている人は解除されません。インスタンスに居ない人には届きません(運用ガイド 参照)。
| 項目 | 型 | 既定 | 内容 |
|---|---|---|---|
| 確認の有効秒 | float | 5 | 1回目から2回目で確定できるまでの秒数。過ぎると取り消される(目安 3〜10) |
| 状態表示テキスト | TMP_Text | — | 状態を表示する TMP(3D / UI どちらも可・任意) |
| 通常時テキスト | string | 全員のスタッフを解除 | 通常時の表示 |
| 確認中テキスト | string | <color=#FF6666>もう一度触れて確定</color> |
1回目に触れた後の表示 |
| 権限なしテキスト | string | <color=#AAAAAA>スタッフのみ操作できます</color> |
スタッフ以外が触れた時の表示 |
StaffListBoard(在室スタッフ一覧ボード)
現在入室しているスタッフ名を TextMeshPro に表示します。
| 項目 | 型 | 既定 | 内容 |
|---|---|---|---|
| 表示テキスト | TMP_Text | — | 必須。一覧を表示する TMP(3D / UI どちらも可) |
| 見出し | string | 現在のスタッフ | 一覧の前に付ける見出し |
| 不在時テキスト | string | (スタッフはいません) | スタッフが1人もいないときの表示 |