Skip to content

🧩 Booth Components

SDK prefabs for interactive booth elements. All prefabs ship in Assets\PJKT\Pjkt Prefabs after you import the package.

⭐ Getting Started

Step 1

Install the SDK

Set up the SDK and sign in with your representative account before you import any prefabs.

Open the setup guide →
Step 2

Add the prefab package

Open PJKT SDK → ⚙️ Settings, find PJKT Prefabs, and click Add to scene.

If you already imported an older version, remove Assets\PJKT\Pjkt Prefabs first.

⚡ Example Prefabs

  • Example prefabs for each component can be found in Assets\PJKT\PJKT Prefabs. These are fully functional, fully setup and can be used as-is.

📍 TeleportPlayer

Moves visitors to a fixed destination. Use this when you want a button or interact trigger that sends someone to a specific spot in your booth.

Teleport Destination required
The Transform where players land.
UI Buttons
Unity UI buttons that trigger the teleport when clicked.
One-time Use
Disables the teleport after its first use.

TIP

Use the inspector gizmos to preview the landing position.


♻️ ResetPickups

Resets VRCObjectSync objects to their original positions. Use this when your booth has throwable or moveable objects that visitors might scatter around.

Pickups To Reset required
The VRCObjectSync components to reset.
Use Whitelist
Restricts who can trigger the reset.
Allowed Users
Usernames allowed to reset (when whitelist is on).
UI Buttons
Unity UI buttons that trigger the reset.

👥 OpenGroupInformationContainer

Opens your VRChat group page or store when a visitor interacts. Use this when you want a direct link button to your community.

Group ID required
Your group's UUID — `grp_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`
Open To Store
Opens the store page instead of the group info page.
UI Buttons
Unity UI buttons that trigger the open action.

TIP

Find your Group ID in the URL when viewing your group on VRChat.com: vrchat.com/home/group/grp_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx


🎛️ ButtonToggle

Shows, hides, or animates objects. Use this when you want an on/off button for decorations, panels, displays, or any game object.

Objects To Toggle
GameObjects to show/hide.
Animator Settings
Animator reference + boolean parameter names to flip.
UI Elements
UI buttons and toggle controls.
Starting State
Initial state when a player loads in.
One-time Use
Disables itself after first use.

Starting State options

  • Do Nothing — Keeps editor state, inverts on each press
  • Enable All — Starts with all objects visible
  • Disable All — Starts with all objects hidden

🌐 PjktLanguageSwitcher

Shows TextMeshPro text in each visitor's VRChat language. Refreshes on join and whenever a player changes their language setting.

Language required
The language for this text entry.
Text Field required
What to display in that language.
Add language override
Click to add another language entry.

TIP

A TextMeshProUGUI component will be created automatically if one doesn't already exist on the GameObject.


🎨 PjktMaterialSwapper

Applies different materials per build target. Use this when your PC shaders would go pink on Quest, or when you want per-platform material control.

Renderer required
The Renderer to swap. Auto-wired when you add the component.
Windows Materials
Materials for PC builds.
Android Materials
Materials for Quest builds.
iOS Materials
Materials for iOS builds.

🎬 PjktBoothVideoPlayer

Plays a video on an in-booth screen. Use this when you want video content — trailers, showcases, background footage — on a physical screen in your booth.

Video URL required
URL of the video to play. Use a VRChat-whitelisted URL.
Autoplay
Starts playback when a player enters the trigger collider. **PC only** — does not work on Quest.
Loop
Restarts the video when it ends.
Standby Texture
Image shown on the screen when no video is active.

WARNING

Autoplay does not run on Quest. Players must also be standing inside the trigger collider before autoplay occurs, on Quest/iOS the play button must be pressed to start the video.


🛠️ Troubleshooting

Components not working?
Check that all required colliders and UI references are assigned. Every prefab needs its inspector fields filled in.

Group ID not working?
Must match the full UUID format exactly: grp_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

UI button not doing anything?
Check the On Click events on the button and confirm an EventSystem is present in the scene.

Still stuck?
Ask in the representative channels on our Discord.

Made with 🐦 and ☕.

🚧 Documentation is WIP