🧩 Booth Components
SDK prefabs for interactive booth elements. All prefabs ship in Assets\PJKT\Pjkt Prefabs after you import the package.
⭐ Getting Started
Install the SDK
Set up the SDK and sign in with your representative account before you import any prefabs.
Open the setup guide →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.
The Transform where players land.
Unity UI buttons that trigger the teleport when clicked.
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.
The VRCObjectSync components to reset.
Restricts who can trigger the reset.
Usernames allowed to reset (when whitelist is on).
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.
Your group's UUID — `grp_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`
Opens the store page instead of the group info page.
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.
GameObjects to show/hide.
Animator reference + boolean parameter names to flip.
UI buttons and toggle controls.
Initial state when a player loads in.
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.
The language for this text entry.
What to display in that language.
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.
The Renderer to swap. Auto-wired when you add the component.
Materials for PC builds.
Materials for Quest builds.
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.
URL of the video to play. Use a VRChat-whitelisted URL.
Starts playback when a player enters the trigger collider. **PC only** — does not work on Quest.
Restarts the video when it ends.
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.
